summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2014-11-26 15:30:52 +0100
committerCarlos Garnacho <carlosg@gnome.org>2014-11-26 15:30:52 +0100
commit50076ed95b2f9bd1bb2e8fbdd3ba0bffe4490804 (patch)
treef6e0bcbad5ebcfbb362c2e09c8b7233a2dc9946d
parent05893dd5a95a4255488ab5757711eb6fcfc105c0 (diff)
downloadgtk+-50076ed95b2f9bd1bb2e8fbdd3ba0bffe4490804.tar.gz
popover: Send key events only to the focus widget
gtk_window_propagate_key_event() will run unstopped from the focus widget up to the popover if GDK_EVENT_PROPAGATE was returned along the chain, resulting in infinite recursion. This could be just triggered by pressing some modifier key on an entry...
-rw-r--r--gtk/gtkpopover.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c
index 241eef5e1f..38214c9239 100644
--- a/gtk/gtkpopover.c
+++ b/gtk/gtkpopover.c
@@ -1218,7 +1218,7 @@ gtk_popover_key_press (GtkWidget *widget,
focus = gtk_window_get_focus (GTK_WINDOW (toplevel));
if (focus && gtk_widget_is_ancestor (focus, widget))
- return gtk_window_propagate_key_event (GTK_WINDOW (toplevel), event);
+ return gtk_widget_event (focus, (GdkEvent*) event);
}
return GDK_EVENT_PROPAGATE;