summaryrefslogtreecommitdiff
path: root/src/backends/meta-cursor-tracker.c
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2016-12-01 16:54:04 +0800
committerJonas Ådahl <jadahl@gmail.com>2017-01-25 16:28:51 +0800
commite35ac9be8dc062a5cfbbb34dff14e65c15cd951b (patch)
treecfb4462520a193a5485ea261644f94be2d4ebd53 /src/backends/meta-cursor-tracker.c
parent6dbb524b9f75889b1fac927f8094055d816d7d3f (diff)
downloadmutter-e35ac9be8dc062a5cfbbb34dff14e65c15cd951b.tar.gz
cursor-tracker: Don't cache a private pointer to the cursor renderer
This means we don't rely on contruction order any more. https://bugzilla.gnome.org/show_bug.cgi?id=777732
Diffstat (limited to 'src/backends/meta-cursor-tracker.c')
-rw-r--r--src/backends/meta-cursor-tracker.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/backends/meta-cursor-tracker.c b/src/backends/meta-cursor-tracker.c
index be57a9b88..e07042501 100644
--- a/src/backends/meta-cursor-tracker.c
+++ b/src/backends/meta-cursor-tracker.c
@@ -73,7 +73,11 @@ get_displayed_cursor (MetaCursorTracker *tracker)
static void
update_displayed_cursor (MetaCursorTracker *tracker)
{
- meta_cursor_renderer_set_cursor (tracker->renderer, tracker->displayed_cursor);
+ MetaBackend *backend = meta_get_backend ();
+ MetaCursorRenderer *cursor_renderer =
+ meta_backend_get_cursor_renderer (backend);
+
+ meta_cursor_renderer_set_cursor (cursor_renderer, tracker->displayed_cursor);
}
static void
@@ -95,9 +99,6 @@ sync_cursor (MetaCursorTracker *tracker)
static void
meta_cursor_tracker_init (MetaCursorTracker *self)
{
- MetaBackend *backend = meta_get_backend ();
-
- self->renderer = meta_backend_get_cursor_renderer (backend);
self->is_showing = TRUE;
}
@@ -358,9 +359,13 @@ meta_cursor_tracker_update_position (MetaCursorTracker *tracker,
int new_x,
int new_y)
{
+ MetaBackend *backend = meta_get_backend ();
+ MetaCursorRenderer *cursor_renderer =
+ meta_backend_get_cursor_renderer (backend);
+
g_assert (meta_is_wayland_compositor ());
- meta_cursor_renderer_set_position (tracker->renderer, new_x, new_y);
+ meta_cursor_renderer_set_position (cursor_renderer, new_x, new_y);
}
static void