summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorGuilherme Felipe <guilhermefelipecgs@gmail.com>2018-05-10 19:17:00 -0300
committerGuilherme Felipe <guilhermefelipecgs@gmail.com>2018-05-10 20:02:12 -0300
commit50a0220d2dedd1d93f94e581d6b8ff363b62a130 (patch)
tree54ed69f77c09912f044997588d9e4ea0df8210ab /platform
parent1ec2fa42f83ec107d346e610496a547bde861725 (diff)
Reset the cursor with Input.set_custom_mouse_cursor(null)
Diffstat (limited to 'platform')
-rw-r--r--platform/osx/os_osx.mm5
-rw-r--r--platform/windows/os_windows.cpp5
-rw-r--r--platform/x11/os_x11.cpp8
3 files changed, 18 insertions, 0 deletions
diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm
index 80d466f4b6..dbe9a11471 100644
--- a/platform/osx/os_osx.mm
+++ b/platform/osx/os_osx.mm
@@ -1594,6 +1594,11 @@ void OS_OSX::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, c
if (p_shape == CURSOR_ARROW) {
[cursor set];
}
+ } else {
+ // Reset to default system cursor
+ cursors[p_shape] = NULL;
+ cursor_shape = CURSOR_MAX;
+ set_cursor_shape(p_shape);
}
}
diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp
index 2850d38ce4..d6cdea7b88 100644
--- a/platform/windows/os_windows.cpp
+++ b/platform/windows/os_windows.cpp
@@ -2117,6 +2117,11 @@ void OS_Windows::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shap
if (hXorMask != NULL) {
DeleteObject(hXorMask);
}
+ } else {
+ // Reset to default system cursor
+ cursors[p_shape] = NULL;
+ cursor_shape = CURSOR_MAX;
+ set_cursor_shape(p_shape);
}
}
diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp
index 117995ea48..eec371865e 100644
--- a/platform/x11/os_x11.cpp
+++ b/platform/x11/os_x11.cpp
@@ -2486,6 +2486,14 @@ void OS_X11::set_custom_mouse_cursor(const RES &p_cursor, CursorShape p_shape, c
if (p_shape == CURSOR_ARROW) {
XDefineCursor(x11_display, x11_window, cursors[p_shape]);
}
+ } else {
+ // Reset to default system cursor
+ if (img[p_shape]) {
+ cursors[p_shape] = XcursorImageLoadCursor(x11_display, img[p_shape]);
+ }
+
+ current_cursor = CURSOR_MAX;
+ set_cursor_shape(p_shape);
}
}