[mutter/gnome-3-22] wayland: Keep pointer to cursor sprite on MetaWaylandTabletTool



commit 6e2722298e81ad02e814ef8a4f2c939a457a32c8
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sat Feb 11 00:53:08 2017 +0100

    wayland: Keep pointer to cursor sprite on MetaWaylandTabletTool
    
    https://bugzilla.gnome.org/show_bug.cgi?id=778474

 src/wayland/meta-wayland-tablet-tool.c |    6 +++++-
 src/wayland/meta-wayland-tablet-tool.h |    1 +
 2 files changed, 6 insertions(+), 1 deletions(-)
---
diff --git a/src/wayland/meta-wayland-tablet-tool.c b/src/wayland/meta-wayland-tablet-tool.c
index c3df2d9..989e0f5 100644
--- a/src/wayland/meta-wayland-tablet-tool.c
+++ b/src/wayland/meta-wayland-tablet-tool.c
@@ -98,7 +98,7 @@ meta_wayland_tablet_tool_update_cursor_surface (MetaWaylandTabletTool *tool)
         cursor = NULL;
     }
   else if (tool->current_tablet)
-    cursor = meta_cursor_sprite_from_theme (META_CURSOR_CROSSHAIR);
+    cursor = tool->default_sprite;
   else
     cursor = NULL;
 
@@ -397,6 +397,8 @@ meta_wayland_tablet_tool_new (MetaWaylandTabletSeat  *seat,
   tool->focus_surface_destroy_listener.notify = tablet_tool_handle_focus_surface_destroy;
   tool->cursor_surface_destroy_listener.notify = tablet_tool_handle_cursor_surface_destroy;
 
+  tool->default_sprite = meta_cursor_sprite_from_theme (META_CURSOR_CROSSHAIR);
+
   return tool;
 }
 
@@ -416,6 +418,8 @@ meta_wayland_tablet_tool_free (MetaWaylandTabletTool *tool)
       wl_list_init (wl_resource_get_link (resource));
     }
 
+  g_object_unref (tool->default_sprite);
+
   g_slice_free (MetaWaylandTabletTool, tool);
 }
 
diff --git a/src/wayland/meta-wayland-tablet-tool.h b/src/wayland/meta-wayland-tablet-tool.h
index 89ca2a6..2e72273 100644
--- a/src/wayland/meta-wayland-tablet-tool.h
+++ b/src/wayland/meta-wayland-tablet-tool.h
@@ -43,6 +43,7 @@ struct _MetaWaylandTabletTool
   MetaWaylandSurface *cursor_surface;
   struct wl_listener cursor_surface_destroy_listener;
   MetaCursorRenderer *cursor_renderer;
+  MetaCursorSprite *default_sprite;
 
   MetaWaylandSurface *current;
   guint32 pressed_buttons;


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