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

This commit is contained in:
Guilherme Felipe 2018-09-17 12:24:44 -03:00
parent 6e62a1e4de
commit 72d4fd8f0d
3 changed files with 9 additions and 3 deletions

View File

@ -1272,8 +1272,10 @@ void OS_OSX::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, c
cursors[p_shape] = cursor;
if (p_shape == CURSOR_ARROW) {
if (mouse_mode == MOUSE_MODE_VISIBLE) {
[cursor set];
}
}
[imgrep release];
[nsimage release];

View File

@ -2059,8 +2059,10 @@ void OS_Windows::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shap
cursors[p_shape] = CreateIconIndirect(&iconinfo);
if (p_shape == CURSOR_ARROW) {
if (mouse_mode == MOUSE_MODE_VISIBLE) {
SetCursor(cursors[p_shape]);
}
}
if (hAndMask != NULL) {
DeleteObject(hAndMask);

View File

@ -2218,8 +2218,10 @@ 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 == CURSOR_ARROW) {
if (mouse_mode == MOUSE_MODE_VISIBLE) {
XDefineCursor(x11_display, x11_window, cursors[p_shape]);
}
}
memfree(cursor_image->pixels);
XcursorImageDestroy(cursor_image);