From a447b2fee2f4d7426f8ebdf5c71de8a50078824d Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 24 Oct 2011 11:00:31 +0200 Subject: [PATCH] gtk: Propagate ::captured-event up the hierarchy for crossing events --- gtk/gtkmain.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 89611ccbf6..c761d90f9b 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -1705,18 +1705,18 @@ gtk_main_do_event (GdkEvent *event) _gtk_widget_set_device_window (event_widget, gdk_event_get_device (event), event->any.window); - if (gtk_widget_is_sensitive (grab_widget)) - if (!_gtk_widget_captured_event (grab_widget, event)) - gtk_widget_event (grab_widget, event); + if (gtk_widget_is_sensitive (grab_widget) && + !gtk_propagate_captured_event (grab_widget, event, topmost_widget)) + gtk_widget_event (grab_widget, event); break; case GDK_LEAVE_NOTIFY: _gtk_widget_set_device_window (event_widget, gdk_event_get_device (event), NULL); - if (gtk_widget_is_sensitive (grab_widget)) - if (!_gtk_widget_captured_event (grab_widget, event)) - gtk_widget_event (grab_widget, event); + if (gtk_widget_is_sensitive (grab_widget) && + !gtk_propagate_captured_event (grab_widget, event, topmost_widget)) + gtk_widget_event (grab_widget, event); break; case GDK_DRAG_STATUS: