diff options
author | Dan Nicholson <dbn@endlessos.org> | 2024-10-16 05:07:46 -0600 |
---|---|---|
committer | Dan Nicholson <dbn@endlessos.org> | 2024-10-16 05:51:08 -0600 |
commit | b05aab4b330a72001936d7a09b9a86303ff1a4bd (patch) | |
tree | 25196ee80c3954ae8f8b1ac6fbfeb00d093a1b62 | |
parent | af77100e394dcaca609b15bef815ed17475e51ed (diff) | |
download | redot-engine-b05aab4b330a72001936d7a09b9a86303ff1a4bd.tar.gz |
Fix selecting root node before button released
In order to test if the button press is within the scene tree, the
Tree's coordinates should be used, not the SceneTreeEditor's.
-rw-r--r-- | editor/scene_tree_dock.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index bcab0c2883..9ae72498d4 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -126,7 +126,8 @@ void SceneTreeDock::input(const Ref<InputEvent> &p_event) { Ref<InputEventMouseButton> mb = p_event; if (mb.is_valid() && (mb->get_button_index() == MouseButton::LEFT || mb->get_button_index() == MouseButton::RIGHT)) { - if (mb->is_pressed() && scene_tree->get_rect().has_point(scene_tree->get_local_mouse_position())) { + Tree *tree = scene_tree->get_scene_tree(); + if (mb->is_pressed() && tree->get_rect().has_point(tree->get_local_mouse_position())) { tree_clicked = true; } else if (!mb->is_pressed()) { tree_clicked = false; |