Always report XInput events to the grab window if any.
The grab window should be the first option to send events to, else we may get unpaired events, making display->ignore_core_events go crazy. https://bugzilla.gnome.org/show_bug.cgi?id=588649
This commit is contained in:
parent
d37268c60f
commit
bfc88240b4
@ -256,17 +256,18 @@ _gdk_input_other_event (GdkEvent *event,
|
||||
if (event_type == GDK_NOTHING)
|
||||
return FALSE;
|
||||
|
||||
window = _gdk_window_get_input_window_for_event (event_window,
|
||||
event_type,
|
||||
x, y,
|
||||
xevent->xany.serial);
|
||||
/* If we're not getting any event window its likely because we're outside the
|
||||
window and there is no grab. We should still report according to the
|
||||
implicit grab though. */
|
||||
iw = ((GdkWindowObject *)event_window)->input_window;
|
||||
if (window == NULL)
|
||||
window = iw->button_down_window;
|
||||
|
||||
if (iw->button_down_window)
|
||||
window = iw->button_down_window;
|
||||
else
|
||||
window = _gdk_window_get_input_window_for_event (event_window,
|
||||
event_type,
|
||||
x, y,
|
||||
xevent->xany.serial);
|
||||
priv = (GdkWindowObject *)window;
|
||||
if (window == NULL)
|
||||
return FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user