diff --git a/types/wlr_cursor.c b/types/wlr_cursor.c index fb267402..867e7d90 100644 --- a/types/wlr_cursor.c +++ b/types/wlr_cursor.c @@ -462,6 +462,10 @@ void wlr_cursor_set_surface(struct wlr_cursor *cur, struct wlr_surface *surface, struct wlr_cursor_output_cursor *output_cursor; wl_list_for_each(output_cursor, &cur->state->output_cursors, link) { + if (surface == output_cursor->surface) { + continue; + } + cursor_output_cursor_reset_image(output_cursor); output_cursor->surface = surface;