X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/debe6624c1e9d4bf3243381153d1e173c849bcd8..496e3a4a030bf8d631c8b3730b51a8aa02311473:/src/gtk/checkbox.cpp diff --git a/src/gtk/checkbox.cpp b/src/gtk/checkbox.cpp index ee3830f361..dd7ef5f9e1 100644 --- a/src/gtk/checkbox.cpp +++ b/src/gtk/checkbox.cpp @@ -15,17 +15,25 @@ #include "wx/checkbox.h" +//----------------------------------------------------------------------------- +// data +//----------------------------------------------------------------------------- + +extern bool g_blockEventsOnDrag; + //----------------------------------------------------------------------------- // wxCheckBox //----------------------------------------------------------------------------- -void gtk_checkbox_clicked_callback( GtkWidget *WXUNUSED(widget), gpointer data ) +static void gtk_checkbox_clicked_callback( GtkWidget *WXUNUSED(widget), wxCheckBox *cb ) { - wxCheckBox *cb = (wxCheckBox*)data; + if (!cb->HasVMT()) return; + if (g_blockEventsOnDrag) return; + wxCommandEvent event(wxEVT_COMMAND_CHECKBOX_CLICKED, cb->GetId()); event.SetInt( cb->GetValue() ); event.SetEventObject(cb); - cb->ProcessEvent(event); + cb->GetEventHandler()->ProcessEvent(event); }; //----------------------------------------------------------------------------- @@ -51,6 +59,8 @@ bool wxCheckBox::Create( wxWindow *parent, wxWindowID id, const wxString &label PreCreation( parent, id, pos, size, style, name ); + SetLabel( label ); + m_widget = gtk_check_button_new_with_label( label ); wxSize newSize = size;