aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--types/wlr_output.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/types/wlr_output.c b/types/wlr_output.c
index 96c9d324..15bb3577 100644
--- a/types/wlr_output.c
+++ b/types/wlr_output.c
@@ -846,12 +846,18 @@ bool wlr_output_cursor_move(struct wlr_output_cursor *cursor,
output_cursor_damage_whole(cursor);
}
+ bool was_visible = cursor->visible;
x *= cursor->output->scale;
y *= cursor->output->scale;
cursor->x = x;
cursor->y = y;
output_cursor_update_visible(cursor);
+ if (!was_visible && !cursor->visible) {
+ // Cursor is still hidden, do nothing
+ return true;
+ }
+
if (cursor->output->hardware_cursor != cursor) {
output_cursor_damage_whole(cursor);
return true;