From: Paul Cornett Date: Mon, 26 Nov 2012 18:30:08 +0000 (+0000) Subject: disconnect "toggled" signal in dtor when style has wxALIGN_RIGHT X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/7af131ab0e28b61196cf7d4fdb22e700acca5393 disconnect "toggled" signal in dtor when style has wxALIGN_RIGHT git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- 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,