Browse Source

Merge pull request #20133 from ibrahn/fix-tree-uninit-branch

fixed a branch on uninitialised data in gui/tree
Rémi Verschelde 7 years ago
parent
commit
f8e8ac2c66
1 changed files with 14 additions and 5 deletions
  1. 14 5
      scene/gui/tree.cpp

+ 14 - 5
scene/gui/tree.cpp

@@ -2426,14 +2426,23 @@ void Tree::_gui_input(Ref<InputEvent> p_event) {
 				int col, h, section;
 				TreeItem *it = _find_item_at_pos(root, mpos, col, h, section);
 
-				if ((drop_mode_flags && it != drop_mode_over) || section != drop_mode_section) {
-					drop_mode_over = it;
-					drop_mode_section = section;
-					update();
+				if (drop_mode_flags) {
+					if (it != drop_mode_over) {
+						drop_mode_over = it;
+						update();
+					}
+					if (it && section != drop_mode_section) {
+						drop_mode_section = section;
+						update();
+					}
 				}
 
-				if (it != cache.hover_item || col != cache.hover_cell) {
+				if (it != cache.hover_item) {
 					cache.hover_item = it;
+					update();
+				}
+
+				if (it && col != cache.hover_cell) {
 					cache.hover_cell = col;
 					update();
 				}