summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scene/main/viewport.cpp6
-rw-r--r--tests/scene/test_text_edit.h1
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();