From: Matthias Clasen Date: Sat, 13 Aug 2022 17:19:49 +0000 (-0400) Subject: wayland: Avoid leaking cursor textures X-Git-Tag: archive/raspbian/4.8.3+ds-2+rpi1~3^2~20^2~3^2~88^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0bd15b44f2e1e9fe72874340d165914a9fe96855;p=gtk4.git wayland: Avoid leaking cursor textures When we fall back to the default cursor and load it from a resource, we need to free the texture. --- diff --git a/gdk/wayland/gdkcursor-wayland.c b/gdk/wayland/gdkcursor-wayland.c index a5602bcbaf..41cd2e4fc4 100644 --- a/gdk/wayland/gdkcursor-wayland.c +++ b/gdk/wayland/gdkcursor-wayland.c @@ -215,7 +215,7 @@ _gdk_wayland_cursor_get_buffer (GdkWaylandDisplay *display, cairo_surface_t *surface; struct wl_buffer *buffer; - texture = gdk_cursor_get_texture (cursor); + texture = g_object_ref (gdk_cursor_get_texture (cursor)); from_texture: surface = g_hash_table_lookup (display->cursor_surface_cache, cursor); @@ -245,6 +245,8 @@ from_texture: buffer = _gdk_wayland_shm_surface_get_wl_buffer (surface); wl_buffer_add_listener (buffer, &buffer_listener, surface); + g_object_unref (texture); + return buffer; }