From da0b5338fe14ce3104ae966cffcd5315fee5693a Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 3 Aug 2003 23:26:11 +0000 Subject: [PATCH] set event object correctly for the menu events git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/menu.cpp | 5 +++++ src/gtk1/menu.cpp | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/gtk/menu.cpp b/src/gtk/menu.cpp index a44c91e123..f4c539a103 100644 --- a/src/gtk/menu.cpp +++ b/src/gtk/menu.cpp @@ -729,6 +729,10 @@ static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu ) pm = pm->GetParent(); } + // FIXME: why do we have to call wxFrame::GetEventHandler() directly here? + // normally wxMenu::SendEvent() should be enough, if it doesn't work + // in wxGTK then we have a bug in wxMenu::GetInvokingWindow() which + // should be fixed instead of working around it here... if (frame) { // If it is attached then let the frame send the event. @@ -738,6 +742,7 @@ static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu ) commandEvent.SetEventObject(frame); if (item->IsCheckable()) commandEvent.SetInt(item->IsChecked()); + commandEvent.SetEventObject(menu); frame->GetEventHandler()->ProcessEvent(commandEvent); } diff --git a/src/gtk1/menu.cpp b/src/gtk1/menu.cpp index a44c91e123..f4c539a103 100644 --- a/src/gtk1/menu.cpp +++ b/src/gtk1/menu.cpp @@ -729,6 +729,10 @@ static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu ) pm = pm->GetParent(); } + // FIXME: why do we have to call wxFrame::GetEventHandler() directly here? + // normally wxMenu::SendEvent() should be enough, if it doesn't work + // in wxGTK then we have a bug in wxMenu::GetInvokingWindow() which + // should be fixed instead of working around it here... if (frame) { // If it is attached then let the frame send the event. @@ -738,6 +742,7 @@ static void gtk_menu_clicked_callback( GtkWidget *widget, wxMenu *menu ) commandEvent.SetEventObject(frame); if (item->IsCheckable()) commandEvent.SetInt(item->IsChecked()); + commandEvent.SetEventObject(menu); frame->GetEventHandler()->ProcessEvent(commandEvent); } -- 2.47.2