Merge pull request #24125 from guilhermefelipecgs/fix_mouse_cursor

Add missing validations to prevent crash of multiple mouse buttons being pressed
This commit is contained in:
Rémi Verschelde 2018-12-03 17:25:40 +01:00 committed by GitHub
commit 6fe43bb489
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1747,7 +1747,7 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
mb->set_position(pos); mb->set_position(pos);
#ifdef DEBUG_ENABLED #ifdef DEBUG_ENABLED
if (ScriptDebugger::get_singleton()) { if (ScriptDebugger::get_singleton() && gui.mouse_focus) {
Array arr; Array arr;
arr.push_back(gui.mouse_focus->get_path()); arr.push_back(gui.mouse_focus->get_path());
@ -1850,7 +1850,7 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
gui.mouse_focus = NULL; gui.mouse_focus = NULL;
} }
if (mouse_focus->can_process()) { if (mouse_focus && mouse_focus->can_process()) {
_gui_call_input(mouse_focus, mb); _gui_call_input(mouse_focus, mb);
} }
@ -2065,7 +2065,7 @@ void Viewport::_gui_input_event(Ref<InputEvent> p_event) {
OS::get_singleton()->set_cursor_shape((OS::CursorShape)cursor_shape); OS::get_singleton()->set_cursor_shape((OS::CursorShape)cursor_shape);
if (over->can_process()) { if (over && over->can_process()) {
_gui_call_input(over, mm); _gui_call_input(over, mm);
} }