Fix Input::set_custom_mouse_cursor showing cursor when it's invisible

This commit is contained in:
Guilherme Felipe 2018-09-17 11:37:54 -03:00
parent ebd14a778d
commit 360204e532
3 changed files with 9 additions and 3 deletions

View file

@ -1663,7 +1663,9 @@ void OS_OSX::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, c
cursors[p_shape] = cursor;
if (p_shape == cursor_shape) {
[cursor set];
if (mouse_mode == MOUSE_MODE_VISIBLE || mouse_mode == MOUSE_MODE_CONFINED) {
[cursor set];
}
}
[imgrep release];

View file

@ -2312,7 +2312,9 @@ void OS_Windows::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shap
cursors[p_shape] = CreateIconIndirect(&iconinfo);
if (p_shape == cursor_shape) {
SetCursor(cursors[p_shape]);
if (mouse_mode == MOUSE_MODE_VISIBLE || mouse_mode == MOUSE_MODE_CONFINED) {
SetCursor(cursors[p_shape]);
}
}
if (hAndMask != NULL) {

View file

@ -2607,7 +2607,9 @@ void OS_X11::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, c
cursors[p_shape] = XcursorImageLoadCursor(x11_display, cursor_image);
if (p_shape == current_cursor) {
XDefineCursor(x11_display, x11_window, cursors[p_shape]);
if (mouse_mode == MOUSE_MODE_VISIBLE || mouse_mode == MOUSE_MODE_CONFINED) {
XDefineCursor(x11_display, x11_window, cursors[p_shape]);
}
}
memfree(cursor_image->pixels);