Fix set_default_cursor_shape always sending motion event

(cherry picked from commit 508761e0cd)
This commit is contained in:
Guilherme Felipe 2019-07-29 13:23:30 -03:00 committed by Rémi Verschelde
parent e384d77194
commit 71a0722035
2 changed files with 6 additions and 1 deletions

View File

@ -319,7 +319,8 @@
</argument>
<description>
Sets the default cursor shape to be used in the viewport instead of [constant CURSOR_ARROW].
Note that if you want to change the default cursor shape for [Control]'s nodes, use [member Control.mouse_default_cursor_shape] instead.
[b]Note:[/b] If you want to change the default cursor shape for [Control]'s nodes, use [member Control.mouse_default_cursor_shape] instead.
[b]Note:[/b] This method generates an [InputEventMouseMotion] to update cursor immediately.
</description>
</method>
<method name="set_mouse_mode">

View File

@ -632,6 +632,10 @@ Input::CursorShape InputDefault::get_default_cursor_shape() {
}
void InputDefault::set_default_cursor_shape(CursorShape p_shape) {
if (default_shape == p_shape)
return;
default_shape = p_shape;
// The default shape is set in Viewport::_gui_input_event. To instantly
// see the shape in the viewport we need to trigger a mouse motion event.