Merge pull request #30316 from sparkart/master

Reparent selection without flattening
This commit is contained in:
Rémi Verschelde 2019-07-05 09:56:06 +02:00 committed by GitHub
commit 26cff6ff92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 12 deletions

View File

@ -2226,23 +2226,20 @@ void SceneTreeDock::_script_dropped(String p_file, NodePath p_to) {
void SceneTreeDock::_nodes_dragged(Array p_nodes, NodePath p_to, int p_type) { void SceneTreeDock::_nodes_dragged(Array p_nodes, NodePath p_to, int p_type) {
Vector<Node *> nodes; List<Node *> selection = editor_selection->get_selected_node_list();
Node *to_node;
for (int i = 0; i < p_nodes.size(); i++) { if (selection.empty())
Node *n = get_node((p_nodes[i])); return; //nothing to reparent
if (n) {
nodes.push_back(n);
}
}
if (nodes.size() == 0) Node *to_node = get_node(p_to);
return;
to_node = get_node(p_to);
if (!to_node) if (!to_node)
return; return;
Vector<Node *> nodes;
for (List<Node *>::Element *E = selection.front(); E; E = E->next()) {
nodes.push_back(E->get());
}
int to_pos = -1; int to_pos = -1;
_normalize_drop(to_node, to_pos, p_type); _normalize_drop(to_node, to_pos, p_type);