diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2018-01-13 17:45:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-13 17:45:03 +0100 |
commit | 892568abeeb6837a801f6d3769c7dd75f3ac5f92 (patch) | |
tree | 7844892cd28d34a9fdce6cefc358979c487101c9 | |
parent | 69452fbc3754ed517280a674aa61b36de31cac7f (diff) | |
parent | 363980519c93dfb7251335c243e02bb886fb434e (diff) |
Merge pull request #15670 from poke1024/fix15588
Fixes hangs with Tree in multi selection mode (issue 15588)
-rw-r--r-- | scene/gui/tree.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 8fec9fe97a..a4b703af9e 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -3070,6 +3070,7 @@ void Tree::item_selected(int p_column, TreeItem *p_item) { p_item->cells[p_column].selected = true; //emit_signal("multi_selected",p_item,p_column,true); - NO this is for TreeItem::select + selected_col = p_column; } else { select_single_item(p_item, root, p_column); @@ -3100,7 +3101,9 @@ void Tree::deselect_all() { TreeItem *item = get_next_selected(get_root()); while (item) { item->deselect(selected_col); + TreeItem *prev_item = item; item = get_next_selected(get_root()); + ERR_FAIL_COND(item == prev_item); } selected_item = NULL; |