From 3067dab84ce4ea57d7fb9e43d593ef183d9a6487 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 20 Nov 2017 13:08:06 +0100 Subject: [PATCH] backends: Do not set up the root cursor on invisible window pointers Commit b1a0bf891 broke the previous logic that we would only fallback to the root cursor if 1) windows are not interactable or 2) no window cursor is currently set (i.e. not hovering over any window). Now it will set up the root cursor if it's NULL, which breaks clients explicitly setting an invisible cursor. This commit restaurates the previous behavior. https://bugzilla.gnome.org/show_bug.cgi?id=754806 --- src/backends/meta-cursor-tracker.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/backends/meta-cursor-tracker.c b/src/backends/meta-cursor-tracker.c index f1562a259..b29a72638 100644 --- a/src/backends/meta-cursor-tracker.c +++ b/src/backends/meta-cursor-tracker.c @@ -66,13 +66,10 @@ update_displayed_cursor (MetaCursorTracker *tracker) MetaDisplay *display = meta_get_display (); MetaCursorSprite *cursor = NULL; - if (display && meta_display_windows_are_interactable (display)) - { - if (tracker->has_window_cursor) - cursor = tracker->window_cursor; - } - - if (!cursor) + if (display && meta_display_windows_are_interactable (display) && + tracker->has_window_cursor) + cursor = tracker->window_cursor; + else cursor = tracker->root_cursor; if (tracker->displayed_cursor == cursor)