diff options
Diffstat (limited to 'src/core/display.c')
-rw-r--r-- | src/core/display.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core/display.c b/src/core/display.c index a6d90a35d..4ed11b035 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -1950,6 +1950,7 @@ event_callback (XEvent *event, Time evtime = meta_input_event_get_time (display, event); guint n_button, state, mode, detail; gdouble ev_root_x, ev_root_y; + MetaDevice *device; if (window && !window->override_redirect && ((evtype == KeyPress) || (evtype == ButtonPress))) @@ -1970,7 +1971,9 @@ event_callback (XEvent *event, sanity_check_timestamps (display, display->current_time); } } - + + device = meta_input_event_get_device (display, event); + switch (evtype) { case KeyPress: @@ -2170,8 +2173,7 @@ event_callback (XEvent *event, mode == AsyncPointer ? "AsyncPointer" : "ReplayPointer", (unsigned int) evtime); - XAllowEvents (display->xdisplay, - mode, evtime); + meta_device_allow_events (device, mode, evtime); } if (begin_move && window->has_move_func) @@ -4088,7 +4090,7 @@ meta_change_button_grab (MetaDisplay *display, if (meta_is_debugging ()) meta_error_trap_push_with_return (display); - /* GrabModeSync means freeze until XAllowEvents */ + /* GrabModeSync means freeze until X(I)AllowEvents */ if (grab) XGrabButton (display->xdisplay, button, modmask | ignored_mask, |