Fixes deselection not working when merging scene

Fixes the issue of multiselection retaining its selection when deselecting in the merge scene dialog
This commit is contained in:
Emmanuel Barroga 2019-10-08 19:21:11 -07:00
parent 0a4065e514
commit b5ff31a433

View file

@ -97,8 +97,14 @@ void EditorSubScene::_fill_tree(Node *p_node, TreeItem *p_parent) {
}
void EditorSubScene::_selected_changed() {
selection.clear();
is_root = false;
TreeItem *item = tree->get_selected();
ERR_FAIL_COND(!item);
Node *n = item->get_metadata(0);
if (!n || !selection.find(n)) {
selection.clear();
is_root = false;
}
}
void EditorSubScene::_item_multi_selected(Object *p_object, int p_cell, bool p_selected) {
@ -116,6 +122,11 @@ void EditorSubScene::_item_multi_selected(Object *p_object, int p_cell, bool p_s
selection.clear();
}
selection.push_back(n);
} else {
List<Node *>::Element *E = selection.find(n);
if (E)
selection.erase(E);
}
}
}