[mutter] cursor-tracker: Don't cache a private pointer to the cursor renderer



commit e35ac9be8dc062a5cfbbb34dff14e65c15cd951b
Author: Jonas Ådahl <jadahl gmail com>
Date:   Thu Dec 1 16:54:04 2016 +0800

    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

 src/backends/meta-cursor-tracker-private.h |    2 --
 src/backends/meta-cursor-tracker.c         |   15 ++++++++++-----
 2 files changed, 10 insertions(+), 7 deletions(-)
---
diff --git a/src/backends/meta-cursor-tracker-private.h b/src/backends/meta-cursor-tracker-private.h
index 787e043..24f8b85 100644
--- a/src/backends/meta-cursor-tracker-private.h
+++ b/src/backends/meta-cursor-tracker-private.h
@@ -30,8 +30,6 @@
 struct _MetaCursorTracker {
   GObject parent_instance;
 
-  MetaCursorRenderer *renderer;
-
   gboolean is_showing;
 
   MetaCursorSprite *displayed_cursor;
diff --git a/src/backends/meta-cursor-tracker.c b/src/backends/meta-cursor-tracker.c
index be57a9b..e070425 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]