X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d76419bd541e46b6a423dca04efc12875da5cfa6..68cb30154e69c03d141aa649f024e916c5a96540:/src/gtk/menu.cpp?ds=sidebyside diff --git a/src/gtk/menu.cpp b/src/gtk/menu.cpp index e56488272a..9c28eb232c 100644 --- a/src/gtk/menu.cpp +++ b/src/gtk/menu.cpp @@ -578,12 +578,14 @@ void wxMenuBar::SetLabelTop( size_t pos, const wxString& label ) static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu ) { - if (g_isIdle) wxapp_install_idle_handler(); + if (g_isIdle) + wxapp_install_idle_handler(); int id = menu->FindMenuIdByMenuItem(widget); /* should find it for normal (not popup) menu */ - wxASSERT( (id != -1) || (menu->GetInvokingWindow() != NULL) ); + wxASSERT_MSG( (id != -1) || (menu->GetInvokingWindow() != NULL), + _T("menu item not found in gtk_menu_clicked_callback") ); if (!menu->IsEnabled(id)) return; @@ -607,25 +609,7 @@ static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu ) } } - wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, id ); - event.SetEventObject( menu ); - if (item->IsCheckable()) - event.SetInt( item->IsChecked() ); - -#if wxUSE_MENU_CALLBACK - if (menu->GetCallback()) - { - (void) (*(menu->GetCallback())) (*menu, event); - return; - } -#endif // wxUSE_MENU_CALLBACK - - if (menu->GetEventHandler()->ProcessEvent(event)) - return; - - wxWindow *win = menu->GetInvokingWindow(); - if (win) - win->GetEventHandler()->ProcessEvent( event ); + menu->SendEvent(item->GetId(), item->IsCheckable() ? item->IsChecked() : -1); } //-----------------------------------------------------------------------------