X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bd2e08d06528b2014a4acf878e91fee4696d0666..86e9b8f28fc8db834628e1528e12f3eeb1f6e216:/src/gtk/radiobox.cpp diff --git a/src/gtk/radiobox.cpp b/src/gtk/radiobox.cpp index 15dd404b7d..13e3c1fc27 100644 --- a/src/gtk/radiobox.cpp +++ b/src/gtk/radiobox.cpp @@ -224,6 +224,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title, } m_widget = GTKCreateFrame(title); + g_object_ref(m_widget); wxControl::SetLabel(title); if ( HasFlag(wxNO_BORDER) ) { @@ -240,7 +241,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title, unsigned int num_of_cols = GetColumnCount(); unsigned int num_of_rows = GetRowCount(); - GtkRadioButton *rbtn = (GtkRadioButton*) NULL; + GtkRadioButton *rbtn = NULL; GtkWidget *table = gtk_table_new( num_of_rows, num_of_cols, FALSE ); gtk_table_set_col_spacings( GTK_TABLE(table), 1 ); @@ -249,7 +250,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title, gtk_container_add( GTK_CONTAINER(m_widget), table ); wxString label; - GSList *radio_button_group = (GSList *) NULL; + GSList *radio_button_group = NULL; for (unsigned int i = 0; i < (unsigned int)n; i++) { if ( i != 0 ) @@ -427,6 +428,8 @@ void wxRadioBox::SetString(unsigned int item, const wxString& label) bool wxRadioBox::Enable( bool enable ) { + bool isEnabled = IsEnabled(); + if ( !wxControl::Enable( enable ) ) return false; @@ -441,6 +444,11 @@ bool wxRadioBox::Enable( bool enable ) node = node->GetNext(); } + if (!isEnabled && enable) + { + GTKFixSensitivity(); + } + return true; }