]> git.saurik.com Git - wxWidgets.git/commitdiff
set event object correctly for the menu events
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 3 Aug 2003 23:26:11 +0000 (23:26 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 3 Aug 2003 23:26:11 +0000 (23:26 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/menu.cpp
src/gtk1/menu.cpp

index a44c91e123ea73dc6d3beddc474e5bd16d734bb0..f4c539a1035812e5d54c4e075e61d8a48cc96776 100644 (file)
@@ -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);
     }
index a44c91e123ea73dc6d3beddc474e5bd16d734bb0..f4c539a1035812e5d54c4e075e61d8a48cc96776 100644 (file)
@@ -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);
     }