mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +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:
parent
b0655dc86f
commit
c8087567c9
2 changed files with 3 additions and 3 deletions
|
@ -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);
|
||||
|
|
|
@ -101,7 +101,7 @@ class DisplayServerWayland : public DisplayServer {
|
|||
};
|
||||
|
||||
struct CustomCursor {
|
||||
RID rid;
|
||||
Ref<Resource> resource;
|
||||
Point2i hotspot;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue