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.
This commit is contained in:
Matthias Clasen 2022-08-13 13:19:49 -04:00
parent 4962b76b47
commit 96d6ff16b6

View File

@ -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;
}