From 363980519c93dfb7251335c243e02bb886fb434e Mon Sep 17 00:00:00 2001 From: Bernhard Liebl Date: Sat, 13 Jan 2018 17:27:32 +0100 Subject: [PATCH] Fixes hangs with Tree in multi selection mode (issue 15588) --- scene/gui/tree.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index 8fec9fe97a3..a4b703af9e3 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;