Merge pull request #19853 from khairul169/duplicate_bug

Fix duplicate method on instanced node generates duplicated children.
This commit is contained in:
Max Hilbrunner 2018-07-03 18:48:45 +02:00 committed by GitHub
commit 465edbd2bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1895,7 +1895,7 @@ Node *Node::_duplicate(int p_flags, Map<const Node *, Node *> *r_duplimap) const
// Skip nodes not really belonging to the instanced hierarchy; they'll be processed normally later
// but remember non-instanced nodes that are hidden below instanced ones
if (descendant->data.owner != this) {
if (descendant->get_parent() && descendant->get_parent() != this && descendant->get_parent()->data.owner == this)
if (descendant->get_parent() && descendant->get_parent() != this && descendant->get_parent()->data.owner == this && descendant->data.owner != descendant->get_parent())
hidden_roots.push_back(descendant);
continue;
}