From a10f35c6133f2351aca1f6f6d0ab7703327c678f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Fri, 31 Jul 2020 21:10:34 +0200 Subject: [PATCH] cursor-renderer: Keep ref to displayed cursor sprite If it'd end up beig the XCursor sprite, it'll be unref:ed by the cursor tracker when receiving a XFixesCursorNotify:XFixesDisplayCursorNotify X11 event. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1391 --- src/backends/meta-cursor-renderer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/backends/meta-cursor-renderer.c b/src/backends/meta-cursor-renderer.c index eacbf6724..d3ea5ec21 100644 --- a/src/backends/meta-cursor-renderer.c +++ b/src/backends/meta-cursor-renderer.c @@ -238,6 +238,8 @@ meta_cursor_renderer_finalize (GObject *object) g_clear_signal_handler (&priv->after_paint_handler_id, stage); + g_clear_object (&priv->displayed_cursor); + G_OBJECT_CLASS (meta_cursor_renderer_parent_class)->finalize (object); } @@ -362,7 +364,7 @@ meta_cursor_renderer_set_cursor (MetaCursorRenderer *renderer, if (priv->displayed_cursor == cursor_sprite) return; - priv->displayed_cursor = cursor_sprite; + g_set_object (&priv->displayed_cursor, cursor_sprite); meta_cursor_renderer_update_cursor (renderer, cursor_sprite); }