Fix set_default_cursor_shape always sending motion event

This commit is contained in:
Guilherme Felipe 2019-07-29 13:23:30 -03:00
parent 639127de09
commit 508761e0cd
2 changed files with 5 additions and 0 deletions

View File

@ -318,6 +318,7 @@
<description> <description>
Sets the default cursor shape to be used in the viewport instead of [constant CURSOR_ARROW]. Sets the default cursor shape to be used in the viewport instead of [constant CURSOR_ARROW].
[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] 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> </description>
</method> </method>
<method name="set_mouse_mode"> <method name="set_mouse_mode">

View File

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