diff options
-rw-r--r-- | rootston/cursor.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/rootston/cursor.c b/rootston/cursor.c index ffb38816..1fdf1dbb 100644 --- a/rootston/cursor.c +++ b/rootston/cursor.c @@ -317,12 +317,15 @@ static void notify_relative_motion(struct roots_seat *seat, uint64_t time_msec, struct wlr_relative_pointer_v1 *pointer; wl_list_for_each(pointer, &relative_pointer_manager->relative_pointers, link) { - if (seat->seat != pointer->seat) { - continue; + struct wlr_seat_client *relative_pointer_client = + wlr_seat_client_from_pointer_resource(pointer->pointer); + + if (seat->seat == pointer->seat && + client == relative_pointer_client) { + wlr_relative_pointer_v1_send_relative_motion(pointer, + time_msec, dx, dy, dx_unaccel, dy_unaccel); } - wlr_relative_pointer_v1_send_relative_motion(pointer, time_msec, - dx, dy, dx_unaccel, dy_unaccel); } } |