Browse Source

Merge pull request #35168 from KoBeWi/sure²

Fix error when click edge of the tree icon
Rémi Verschelde 4 years ago
parent
commit
32d93feebe
1 changed files with 10 additions and 1 deletions
  1. 10 1
      scene/gui/tree.cpp

+ 10 - 1
scene/gui/tree.cpp

@@ -2339,13 +2339,22 @@ int Tree::propagate_mouse_event(const Point2i &p_pos, int x_ofs, int y_ofs, int
 					cache.click_type = Cache::CLICK_NONE;
 					return -1;
 				}
+
+				// Make sure the click is correct.
+				Point2 click_pos = get_global_mouse_position() - get_global_position();
+				if (!get_item_at_position(click_pos)) {
+					pressed_button = -1;
+					cache.click_type = Cache::CLICK_NONE;
+					return -1;
+				}
+
 				pressed_button = j;
 				cache.click_type = Cache::CLICK_BUTTON;
 				cache.click_index = j;
 				cache.click_id = c.buttons[j].id;
 				cache.click_item = p_item;
 				cache.click_column = col;
-				cache.click_pos = get_global_mouse_position() - get_global_position();
+				cache.click_pos = click_pos;
 				update();
 				//emit_signal(SNAME("button_pressed"));
 				return -1;