Jelajahi Sumber

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.
Dan Nicholson 11 bulan lalu
induk
melakukan
b05aab4b33
1 mengubah file dengan 2 tambahan dan 1 penghapusan
  1. 2 1
      editor/scene_tree_dock.cpp

+ 2 - 1
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;