Fix set_default_cursor_shape interaction with Control nodes
Do not call `set_cursor_shape` when the cursor is inside the `Control` node. Make it work for x11 in MOUSE_MODE_CONFINED.
This commit is contained in:
@ -2524,13 +2524,16 @@ void OS_X11::set_cursor_shape(CursorShape p_shape) {
|
||||
|
||||
ERR_FAIL_INDEX(p_shape, CURSOR_MAX);
|
||||
|
||||
if (p_shape == current_cursor)
|
||||
if (p_shape == current_cursor) {
|
||||
return;
|
||||
if (mouse_mode == MOUSE_MODE_VISIBLE && mouse_mode != MOUSE_MODE_CONFINED) {
|
||||
if (cursors[p_shape] != None)
|
||||
}
|
||||
|
||||
if (mouse_mode == MOUSE_MODE_VISIBLE || mouse_mode == MOUSE_MODE_CONFINED) {
|
||||
if (cursors[p_shape] != None) {
|
||||
XDefineCursor(x11_display, x11_window, cursors[p_shape]);
|
||||
else if (cursors[CURSOR_ARROW] != None)
|
||||
} else if (cursors[CURSOR_ARROW] != None) {
|
||||
XDefineCursor(x11_display, x11_window, cursors[CURSOR_ARROW]);
|
||||
}
|
||||
}
|
||||
|
||||
current_cursor = p_shape;
|
||||
|
||||
Reference in New Issue
Block a user