diff --git a/src/core/events.c b/src/core/events.c index 0fb30bc29..6b02898fa 100644 --- a/src/core/events.c +++ b/src/core/events.c @@ -35,6 +35,7 @@ #endif #ifdef HAVE_WAYLAND +#include "backends/meta-cursor-tracker-private.h" #include "wayland/meta-wayland-private.h" #endif #include "meta-surface-actor.h" @@ -187,6 +188,14 @@ meta_display_handle_event (MetaDisplay *display, } #endif +#ifdef HAVE_WAYLAND + if (meta_is_wayland_compositor () && event->type == CLUTTER_MOTION) + { + MetaCursorTracker *tracker = meta_cursor_tracker_get_for_screen (NULL); + meta_cursor_tracker_update_position (tracker, event->motion.x, event->motion.y); + } +#endif + handle_idletime_for_event (event); window = get_window_for_event (display, event); diff --git a/src/wayland/meta-wayland-pointer.c b/src/wayland/meta-wayland-pointer.c index a6ac086f7..c264a435c 100644 --- a/src/wayland/meta-wayland-pointer.c +++ b/src/wayland/meta-wayland-pointer.c @@ -315,14 +315,6 @@ meta_wayland_pointer_update (MetaWaylandPointer *pointer, repick_for_event (pointer, event); pointer->button_count = count_buttons (event); - - if (pointer->cursor_tracker) - { - ClutterPoint pos; - - clutter_input_device_get_coords (pointer->device, NULL, &pos); - meta_cursor_tracker_update_position (pointer->cursor_tracker, pos.x, pos.y); - } } static void