diff --git a/types/seat/wlr_seat.c b/types/seat/wlr_seat.c index 33db5101..9395a5b1 100644 --- a/types/seat/wlr_seat.c +++ b/types/seat/wlr_seat.c @@ -310,6 +310,11 @@ struct wlr_seat_client *wlr_seat_client_for_wl_client(struct wlr_seat *wlr_seat, void wlr_seat_set_capabilities(struct wlr_seat *wlr_seat, uint32_t capabilities) { + // if the capabilities haven't changed (i.e a redundant mouse was removed), + // we don't actually have to do anything + if (capabilities == wlr_seat->capabilities) { + return; + } wlr_seat->capabilities = capabilities; wlr_seat->accumulated_capabilities |= capabilities;