diff options
author | Yuri Sizov <11782833+YuriSizov@users.noreply.github.com> | 2023-05-30 15:25:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-30 15:25:36 +0200 |
commit | 3a895eafc0839c44f12843edf8fed60a01433968 (patch) | |
tree | 25befe49c179a96509bf8d5e82192877a8bc1146 | |
parent | 542bef2d0c0ba8ebaa04cdc3265682f06e5e7f7c (diff) | |
parent | a9bf3de08ed8ad55858f8a723b6395a68e6bc399 (diff) | |
download | redot-engine-3a895eafc0839c44f12843edf8fed60a01433968.tar.gz |
Merge pull request #77595 from Sauermann/fix-double-inputevent
Fix InputEvent being used twice
-rw-r--r-- | scene/main/viewport.cpp | 6 | ||||
-rw-r--r-- | tests/scene/test_text_edit.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 532b431b06..fd87c172e1 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -1564,6 +1564,11 @@ bool Viewport::_gui_call_input(Control *p_control, const Ref<InputEvent> &p_inpu } } + if (is_input_handled()) { + // Break after Physics Picking in SubViewport. + break; + } + if (ci->is_set_as_top_level()) { break; } @@ -3045,6 +3050,7 @@ void Viewport::push_unhandled_input(const Ref<InputEvent> &p_event, bool p_local )) { physics_picking_events.push_back(ev); + set_input_as_handled(); } } } diff --git a/tests/scene/test_text_edit.h b/tests/scene/test_text_edit.h index f3f2b4cb34..67d473128e 100644 --- a/tests/scene/test_text_edit.h +++ b/tests/scene/test_text_edit.h @@ -38,6 +38,7 @@ namespace TestTextEdit { TEST_CASE("[SceneTree][TextEdit] text entry") { + SceneTree::get_singleton()->get_root()->set_physics_object_picking(false); TextEdit *text_edit = memnew(TextEdit); SceneTree::get_singleton()->get_root()->add_child(text_edit); text_edit->grab_focus(); |