diff --git a/include/wx/gtk/checkbox.h b/include/wx/gtk/checkbox.h index 26db70bcba..d9edb0a356 100644 --- a/include/wx/gtk/checkbox.h +++ b/include/wx/gtk/checkbox.h @@ -18,6 +18,7 @@ class WXDLLIMPEXP_CORE wxCheckBox : public wxCheckBoxBase { public: wxCheckBox(); + ~wxCheckBox(); wxCheckBox( wxWindow *parent, wxWindowID id, const wxString& label, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, diff --git a/src/gtk/checkbox.cpp b/src/gtk/checkbox.cpp index 6c21e580a2..21c4159d59 100644 --- a/src/gtk/checkbox.cpp +++ b/src/gtk/checkbox.cpp @@ -91,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,