Merge pull request #71405 from marzecdawid/deselect-root-in-deselect_all

Fix `Tree::deselect_all` not deselecting root
This commit is contained in:
Yuri Sizov 2023-03-27 12:26:41 +02:00 committed by GitHub
commit c0301b74a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 7 deletions

View File

@ -4219,14 +4219,20 @@ Tree::SelectMode Tree::get_select_mode() const {
}
void Tree::deselect_all() {
TreeItem *item = get_next_selected(get_root());
while (item) {
for (int i = 0; i < columns.size(); i++) {
item->deselect(i);
if (root) {
TreeItem *item = root;
while (item) {
if (select_mode == SELECT_ROW) {
item->deselect(0);
} else {
for (int i = 0; i < columns.size(); i++) {
item->deselect(i);
}
}
TreeItem *prev_item = item;
item = get_next_selected(root);
ERR_FAIL_COND(item == prev_item);
}
TreeItem *prev_item = item;
item = get_next_selected(get_root());
ERR_FAIL_COND(item == prev_item);
}
selected_item = nullptr;