From 6dc0517bb163b4ee38602d8955b9994e5928d739 Mon Sep 17 00:00:00 2001 From: emersion Date: Sat, 14 Oct 2017 13:24:29 +0200 Subject: [PATCH] Fix software cursor when setting committed cursor surface --- types/wlr_output.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/wlr_output.c b/types/wlr_output.c index f47896d5..0026678e 100644 --- a/types/wlr_output.c +++ b/types/wlr_output.c @@ -179,8 +179,7 @@ static inline int64_t timespec_to_msec(const struct timespec *a) { static void commit_cursor_surface(struct wlr_output *output, struct wlr_surface *surface) { - if (!output->impl->set_cursor) { - output->cursor.is_sw = true; + if (output->cursor.is_sw) { return; } @@ -258,6 +257,7 @@ void wlr_output_set_cursor_surface(struct wlr_output *output, output->cursor.surface = NULL; } + output->cursor.is_sw = output->impl->set_cursor == NULL; output->cursor.surface = surface; if (surface != NULL) {