summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2019-01-03 16:40:42 +0100
committerJonas Ådahl <jadahl@gmail.com>2019-01-16 17:09:51 +0000
commitc45d5f53ff0f96855319dce968b5082bcc5f37ed (patch)
treece84e8d3f1f46a7d8c3c0a5e37f48f4592391de6
parent4e402b397267169e578005cd89bb5bbdaf70853b (diff)
downloadmutter-c45d5f53ff0f96855319dce968b5082bcc5f37ed.tar.gz
cursor-tracker: Emit `cursor-changed` after renderer was updated
Otherwise the cursor retrieved via meta_cursor_renderer_get_cursor() is out of date. https://gitlab.gnome.org/GNOME/mutter/merge_requests/357
-rw-r--r--src/backends/meta-cursor-tracker.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/backends/meta-cursor-tracker.c b/src/backends/meta-cursor-tracker.c
index 7ff0e7b0c..0d49327f4 100644
--- a/src/backends/meta-cursor-tracker.c
+++ b/src/backends/meta-cursor-tracker.c
@@ -118,11 +118,15 @@ change_cursor_renderer (MetaCursorTracker *tracker)
static void
sync_cursor (MetaCursorTracker *tracker)
{
- if (update_displayed_cursor (tracker))
- g_signal_emit (tracker, signals[CURSOR_CHANGED], 0);
+ gboolean cursor_changed = FALSE;
+
+ cursor_changed = update_displayed_cursor (tracker);
if (update_effective_cursor (tracker))
change_cursor_renderer (tracker);
+
+ if (cursor_changed)
+ g_signal_emit (tracker, signals[CURSOR_CHANGED], 0);
}
static void