# Pastebin 4mj5YCu4 diff --git a/src/core/events.c b/src/core/events.c index 8363d9a3d3..f548f90b1f 100644 --- a/src/core/events.c +++ b/src/core/events.c @@ -54,6 +54,11 @@ #define IS_KEY_EVENT(e) ((e)->type == CLUTTER_KEY_PRESS || \ (e)->type == CLUTTER_KEY_RELEASE) +#define IS_DRAG_EVENT(e) (e->type == CLUTTER_MOTION && \ + (e->motion.modifier_state & \ + (CLUTTER_BUTTON1_MASK | CLUTTER_BUTTON2_MASK | \ + CLUTTER_BUTTON3_MASK | CLUTTER_BUTTON4_MASK | \ + CLUTTER_BUTTON5_MASK))) typedef enum { EVENTS_UNFREEZE_SYNC, @@ -526,7 +531,8 @@ meta_display_handle_event (MetaDisplay *display, if (wayland_compositor && !bypass_wayland) { if (window && event->type == CLUTTER_MOTION && - event->any.time != CLUTTER_CURRENT_TIME) + event->any.time != CLUTTER_CURRENT_TIME && + !IS_DRAG_EVENT (event)) meta_window_check_alive_on_event (window, event->any.time); if (meta_wayland_compositor_handle_event (wayland_compositor, event))