]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/radiobox.cpp
* Fixed wxToolbar95 and wxToolbarGTK to emit TOOL_ENTER event with id==-1 when the...
[wxWidgets.git] / src / gtk / radiobox.cpp
index 18867ec77d2573786045add8b6124d904f432e8a..64881d7cfc6ab1252c43d387104097a91f27290b 100644 (file)
 #pragma implementation "radiobox.h"
 #endif
 
-#include "wx/radiobox.h"
+#include "wx/defs.h"
 
 #if wxUSE_RADIOBOX
 
+#include "wx/radiobox.h"
+
 #include "wx/dialog.h"
 #include "wx/frame.h"
+#include "wx/log.h"
 
 #include <gdk/gdk.h>
 #include <gtk/gtk.h>
@@ -142,7 +145,10 @@ static gint gtk_radiobutton_focus_out( GtkWidget *widget,
                                        GdkEvent *WXUNUSED(event),
                                        wxRadioBox *win )
 {
-    wxASSERT_MSG( win->m_hasFocus, _T("got focus out without any focus in?") );
+  //    wxASSERT_MSG( win->m_hasFocus, _T("got focus out without any focus in?") );
+  // Replace with a warning, else we dump core a lot!
+  //  if (!win->m_hasFocus)
+  //      wxLogWarning(_T("Radiobox got focus out without any focus in.") );
 
     // we might have lost the focus, but may be not - it may have just gone to
     // another button in the same radiobox, so we'll check for it in the next
@@ -183,7 +189,9 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
 
     m_widget = gtk_frame_new( title.mbc_str() );
 
-    m_majorDim = majorDim;
+    // majorDim may be 0 if all trailing parameters were omitted, so don't
+    // assert here but just use the correct value for it
+    m_majorDim = majorDim == 0 ? n : majorDim;
 
     GtkRadioButton *m_radio = (GtkRadioButton*) NULL;
 
@@ -241,7 +249,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
     GtkRequisition req;
     req.width = 2;
     req.height = 2;
-    (* GTK_WIDGET_CLASS( GTK_OBJECT(m_widget)->klass )->size_request ) (m_widget, &req );
+    (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(m_widget) )->size_request ) (m_widget, &req );
     if (req.width > ls.x) ls.x = req.width;
     
     wxSize newSize = size;
@@ -321,7 +329,7 @@ wxSize wxRadioBox::LayoutItems()
                 GtkRequisition req;
                 req.width = 2;
                 req.height = 2;
-                (* GTK_WIDGET_CLASS( GTK_OBJECT(button)->klass )->size_request )
+                (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(button) )->size_request )
                       (button, &req );
                
                 if (req.width > max_len) max_len = req.width;
@@ -366,7 +374,7 @@ wxSize wxRadioBox::LayoutItems()
             GtkRequisition req;
             req.width = 2;
             req.height = 2;
-            (* GTK_WIDGET_CLASS( GTK_OBJECT(button)->klass )->size_request )
+            (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(button) )->size_request )
                   (button, &req );
 
             if (req.width > max) max = req.width;