X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9dc44eff0235c5f30940f32ccc6d9d82a236e7d2..b89e528d7066918515e6ad7f77ff4637564ef25e:/src/gtk/checkbox.cpp diff --git a/src/gtk/checkbox.cpp b/src/gtk/checkbox.cpp index 3fb4de8aea..21c4159d59 100644 --- a/src/gtk/checkbox.cpp +++ b/src/gtk/checkbox.cpp @@ -30,8 +30,6 @@ extern bool g_blockEventsOnDrag; extern "C" { static void gtk_checkbox_toggled_callback(GtkWidget *widget, wxCheckBox *cb) { - if (!cb->m_hasVMT) return; - if (g_blockEventsOnDrag) return; // Transitions for 3state checkbox must be done manually, GTK's checkbox @@ -93,6 +91,13 @@ static void gtk_checkbox_toggled_callback(GtkWidget *widget, wxCheckBox *cb) wxCheckBox::wxCheckBox() { + m_widgetCheckbox = NULL; +} + +wxCheckBox::~wxCheckBox() +{ + if (m_widgetCheckbox && m_widgetCheckbox != m_widget) + GTKDisconnect(m_widgetCheckbox); } bool wxCheckBox::Create(wxWindow *parent, @@ -122,7 +127,7 @@ bool wxCheckBox::Create(wxWindow *parent, m_widgetLabel = gtk_label_new(""); gtk_misc_set_alignment(GTK_MISC(m_widgetLabel), 0.0, 0.5); - m_widget = gtk_hbox_new(FALSE, 0); + m_widget = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start(GTK_BOX(m_widget), m_widgetLabel, FALSE, FALSE, 3); gtk_box_pack_start(GTK_BOX(m_widget), m_widgetCheckbox, FALSE, FALSE, 3); @@ -238,7 +243,7 @@ GdkWindow *wxCheckBox::GTKGetWindow(wxArrayGdkWindows& WXUNUSED(windows)) const wxVisualAttributes wxCheckBox::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) { - return GetDefaultAttributesFromGTKWidget(gtk_check_button_new); + return GetDefaultAttributesFromGTKWidget(gtk_check_button_new()); } #endif