X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9dc44eff0235c5f30940f32ccc6d9d82a236e7d2..12bb29f5432174ecbd65549bda832d70d34a98ae:/src/gtk/radiobox.cpp diff --git a/src/gtk/radiobox.cpp b/src/gtk/radiobox.cpp index 6cfbcad491..f181ace7dc 100644 --- a/src/gtk/radiobox.cpp +++ b/src/gtk/radiobox.cpp @@ -58,12 +58,11 @@ extern bool g_blockEventsOnDrag; extern "C" { static void gtk_radiobutton_clicked_callback( GtkToggleButton *button, wxRadioBox *rb ) { - if (!rb->m_hasVMT) return; if (g_blockEventsOnDrag) return; if (!gtk_toggle_button_get_active(button)) return; - wxCommandEvent event( wxEVT_COMMAND_RADIOBOX_SELECTED, rb->GetId() ); + wxCommandEvent event( wxEVT_RADIOBOX, rb->GetId() ); event.SetInt( rb->GetSelection() ); event.SetString( rb->GetStringSelection() ); event.SetEventObject( rb ); @@ -78,7 +77,6 @@ static void gtk_radiobutton_clicked_callback( GtkToggleButton *button, wxRadioBo extern "C" { static gint gtk_radiobox_keypress_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxRadioBox *rb ) { - if (!rb->m_hasVMT) return FALSE; if (g_blockEventsOnDrag) return FALSE; if ( ((gdk_event->keyval == GDK_Tab) || @@ -319,6 +317,7 @@ wxRadioBox::~wxRadioBox() while (node) { GtkWidget *button = GTK_WIDGET( node->GetData()->button ); + GTKDisconnect(button); gtk_widget_destroy( button ); node = node->GetNext(); } @@ -618,14 +617,7 @@ GdkWindow *wxRadioBox::GTKGetWindow(wxArrayGdkWindows& windows) const wxVisualAttributes wxRadioBox::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) { - wxVisualAttributes attr; - // NB: we need toplevel window so that GTK+ can find the right style - GtkWidget *wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL); - GtkWidget* widget = gtk_radio_button_new_with_label(NULL, ""); - gtk_container_add(GTK_CONTAINER(wnd), widget); - attr = GetDefaultAttributesFromGTKWidget(widget); - gtk_widget_destroy(wnd); - return attr; + return GetDefaultAttributesFromGTKWidget(gtk_radio_button_new_with_label(NULL, "")); } int wxRadioBox::GetItemFromPoint(const wxPoint& point) const