You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Wayland: Check custom cursor resource reference for cache invalidation
Images don't have RIDs and this way of checking stuff broke the cursor cache. Let's do like all other platforms and check the resource reference instead.
This commit is contained in:
@@ -1033,7 +1033,7 @@ void DisplayServerWayland::cursor_set_custom_image(const Ref<Resource> &p_cursor
|
||||
HashMap<CursorShape, CustomCursor>::Iterator cursor_c = custom_cursors.find(p_shape);
|
||||
|
||||
if (cursor_c) {
|
||||
if (cursor_c->value.rid == p_cursor->get_rid() && cursor_c->value.hotspot == p_hotspot) {
|
||||
if (cursor_c->value.resource == p_cursor && cursor_c->value.hotspot == p_hotspot) {
|
||||
// We have a cached cursor. Nice.
|
||||
wayland_thread.cursor_set_shape(p_shape);
|
||||
return;
|
||||
@@ -1049,7 +1049,7 @@ void DisplayServerWayland::cursor_set_custom_image(const Ref<Resource> &p_cursor
|
||||
|
||||
CustomCursor &cursor = custom_cursors[p_shape];
|
||||
|
||||
cursor.rid = p_cursor->get_rid();
|
||||
cursor.resource = p_cursor;
|
||||
cursor.hotspot = p_hotspot;
|
||||
|
||||
wayland_thread.cursor_shape_set_custom_image(p_shape, image, p_hotspot);
|
||||
|
||||
Reference in New Issue
Block a user