From 6a4c4ad1aab9888c03d501c6183f8a2ed18c0c3f Mon Sep 17 00:00:00 2001 From: Relintai Date: Tue, 10 Aug 2021 10:55:49 +0200 Subject: [PATCH] Also clear the nodes if _prop_data is not valid. --- prop_instance_merger.cpp | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/prop_instance_merger.cpp b/prop_instance_merger.cpp index 552e3e8..9d37f09 100644 --- a/prop_instance_merger.cpp +++ b/prop_instance_merger.cpp @@ -386,11 +386,20 @@ void PropInstanceMerger::_build() { _building = true; _build_queued = false; - if (!_prop_data.is_valid()) { - if (_job.is_valid()) { - _job->reset_meshes(); - } + if (_job.is_valid()) { + _job->reset_meshes(); + } + for (int i = 0; i < get_child_count(); ++i) { + Node *n = get_child(i); + + //this way we won't delete the user's nodes + if (n->get_owner() == NULL) { + n->queue_delete(); + } + } + + if (!_prop_data.is_valid()) { _building = false; return; } @@ -441,18 +450,6 @@ void PropInstanceMerger::_build() { _job->set_material_cache(cache); - for (int i = 0; i < get_child_count(); ++i) { - Node *n = get_child(i); - - //this way we won't delete the user's nodes - if (n->get_owner() == NULL) { - n->queue_delete(); - } - } - - if (!_prop_data.is_valid()) - return; - prop_preprocess(Transform(), _prop_data); #if THREAD_POOL_PRESENT