X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9ff9d30c0aab3b281ef9b380eac17435556c5088..ae901b234c4a0aa7c1777b3bd181dd7f8517ad21:/src/gtk/button.cpp diff --git a/src/gtk/button.cpp b/src/gtk/button.cpp index 331298c383..066183e717 100644 --- a/src/gtk/button.cpp +++ b/src/gtk/button.cpp @@ -211,16 +211,23 @@ void wxButton::SetLabel( const wxString &lbl ) gtk_button_set_label(GTK_BUTTON(m_widget), wxGTK_CONV(labelGTK)); gtk_button_set_use_stock(GTK_BUTTON(m_widget), FALSE); - ApplyWidgetStyle( false ); + GTKApplyWidgetStyle( false ); } bool wxButton::Enable( bool enable ) { + bool isEnabled = IsEnabled(); + if ( !wxControl::Enable( enable ) ) return false; gtk_widget_set_sensitive(GTK_BIN(m_widget)->child, enable); + if (!isEnabled && enable) + { + GTKFixSensitivity(); + } + return true; } @@ -242,9 +249,11 @@ void wxButton::DoApplyWidgetStyle(GtkRcStyle *style) GtkWidget *box = GTK_BIN(child)->child; if ( GTK_IS_BOX(box) ) { - GList *items = gtk_container_get_children(GTK_CONTAINER(box)); - for ( GList *item = items; item; item = item->next ) - gtk_widget_modify_style(GTK_WIDGET(item->data), style); + for (GList* item = GTK_BOX(box)->children; item; item = item->next) + { + GtkBoxChild* boxChild = static_cast(item->data); + gtk_widget_modify_style(boxChild->widget, style); + } } } }