forked from AuroraMiddleware/gtk
gtkmain: Don't process WM events if there's a grab on another toplevel
This is implicitly done for us in the case of grabs on windows from other groups, but we must perform this check explicitly for grabs with owner_events=True on windows from the same group, in that case the window would handle the events as if there was no grab. https://bugzilla.gnome.org/show_bug.cgi?id=752327
This commit is contained in:
parent
56d39241a9
commit
a6ca56969e
@ -1645,8 +1645,13 @@ gtk_main_do_event (GdkEvent *event)
|
||||
(grab_widget && grab_widget != event_widget &&
|
||||
!gtk_widget_is_ancestor (event_widget, grab_widget)))
|
||||
{
|
||||
if (_gtk_window_check_handle_wm_event (event))
|
||||
goto cleanup;
|
||||
/* Ignore event if we got a grab on another toplevel */
|
||||
if (!grab_widget ||
|
||||
gtk_widget_get_toplevel (event_widget) == gtk_widget_get_toplevel (grab_widget))
|
||||
{
|
||||
if (_gtk_window_check_handle_wm_event (event))
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
|
||||
/* Find out the topmost widget where captured event propagation
|
||||
|
Loading…
Reference in New Issue
Block a user