From 9f20e1668352abc8cf6fdc87825a0079b6e7ac39 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 b0c10a1dc2..cd080272b5 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -1707,18 +1707,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: