From 03a126c68c940c13a7a6c9ee183fa88e9b575a21 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Sat, 15 Sep 2007 10:29:26 +0000 Subject: [PATCH] Only send keypress events to focus widget, not its parents git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48708 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/window.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 8c8cdec0cc..559fc2b744 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -991,6 +991,11 @@ gtk_window_key_press_callback( GtkWidget *widget, if (g_blockEventsOnDrag) return FALSE; + // GTK+ sends keypress events to the focus widget and then + // to all its parent and grandparent widget. We only want + // the key events from the focus widget. + if (!GTK_WIDGET_HAS_FOCUS(widget)) + return FALSE; wxKeyEvent event( wxEVT_KEY_DOWN ); bool ret = false; @@ -3777,6 +3782,7 @@ void wxWindowGTK::GtkSendPaintEvents() nc_paint_event.SetEventObject( this ); GetEventHandler()->ProcessEvent( nc_paint_event ); + wxPaintEvent paint_event( GetId() ); paint_event.SetEventObject( this ); GetEventHandler()->ProcessEvent( paint_event ); -- 2.45.2