diff --git a/src/wayland/meta-wayland-tablet-tool.c b/src/wayland/meta-wayland-tablet-tool.c index c3df2d971..989e0f50d 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 89ca2a6e1..2e7227375 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;