Properly revert cursor when using set_custom_mouse_cursor with null
Fixes #32486
This commit is contained in:
parent
09bf1b35c0
commit
5bfe32eaa4
4 changed files with 16 additions and 2 deletions
|
@ -574,6 +574,8 @@ void OS_JavaScript::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_s
|
|||
}, cursors[p_shape].utf8().get_data());
|
||||
/* clang-format on */
|
||||
cursors[p_shape] = "";
|
||||
|
||||
cursors_cache.erase(p_shape);
|
||||
}
|
||||
|
||||
set_cursor_shape(cursor_shape);
|
||||
|
|
|
@ -1973,11 +1973,16 @@ void OS_OSX::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, c
|
|||
[nsimage release];
|
||||
} else {
|
||||
// Reset to default system cursor
|
||||
cursors[p_shape] = NULL;
|
||||
if (cursors[p_shape] != NULL) {
|
||||
[cursors[p_shape] release];
|
||||
cursors[p_shape] = NULL;
|
||||
}
|
||||
|
||||
CursorShape c = cursor_shape;
|
||||
cursor_shape = CURSOR_MAX;
|
||||
set_cursor_shape(c);
|
||||
|
||||
cursors_cache.erase(p_shape);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2485,11 +2485,16 @@ void OS_Windows::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shap
|
|||
DeleteObject(bitmap);
|
||||
} else {
|
||||
// Reset to default system cursor
|
||||
cursors[p_shape] = NULL;
|
||||
if (cursors[p_shape]) {
|
||||
DestroyIcon(cursors[p_shape]);
|
||||
cursors[p_shape] = NULL;
|
||||
}
|
||||
|
||||
CursorShape c = cursor_shape;
|
||||
cursor_shape = CURSOR_MAX;
|
||||
set_cursor_shape(c);
|
||||
|
||||
cursors_cache.erase(p_shape);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2996,6 +2996,8 @@ void OS_X11::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, c
|
|||
CursorShape c = current_cursor;
|
||||
current_cursor = CURSOR_MAX;
|
||||
set_cursor_shape(c);
|
||||
|
||||
cursors_cache.erase(p_shape);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue