From 88897e69a3da8bf8b73067967ae63cd05d32bc67 Mon Sep 17 00:00:00 2001 From: bi4k8 Date: Tue, 20 Dec 2022 19:56:51 +0000 Subject: [PATCH] cursor: compare to scaled coords (cherry picked from commit 790fb93794a471662c2f2eea4e7274baf346fbcd) --- types/output/cursor.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/types/output/cursor.c b/types/output/cursor.c index b4eb55af4..927536ad5 100644 --- a/types/output/cursor.c +++ b/types/output/cursor.c @@ -533,6 +533,10 @@ void wlr_output_cursor_set_surface(struct wlr_output_cursor *cursor, bool wlr_output_cursor_move(struct wlr_output_cursor *cursor, double x, double y) { + // Scale coordinates for the output + x *= cursor->output->scale; + y *= cursor->output->scale; + if (cursor->x == x && cursor->y == y) { return true; } @@ -541,11 +545,9 @@ 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; + bool was_visible = cursor->visible; output_cursor_update_visible(cursor); if (!was_visible && !cursor->visible) {