From 42de0d77d9c9c9998b21b10e4033ac5fe77ce7f8 Mon Sep 17 00:00:00 2001 From: devZoGok Date: Sun, 20 Oct 2024 15:31:06 +0300 Subject: [PATCH 1/2] dettaching lights before deleting the node --- node.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/node.cpp b/node.cpp index 7b3a5f7..721820e 100755 --- a/node.cpp +++ b/node.cpp @@ -32,8 +32,10 @@ namespace vb01{ for(Mesh *m : meshes) delete m; - for(Light *l : lights) + for(Light *l : lights){ + removeLight(l); delete l; + } for(ParticleEmitter *p : emitters) delete p; From 9e6613d065182c8e9f0affb6a50f35f5981cb1db Mon Sep 17 00:00:00 2001 From: devZoGok Date: Sun, 20 Oct 2024 15:31:26 +0300 Subject: [PATCH 2/2] simplified destructor --- model.cpp | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/model.cpp b/model.cpp index 8d5f46a..0684ba1 100755 --- a/model.cpp +++ b/model.cpp @@ -28,18 +28,7 @@ namespace vb01{ } Model::~Model(){ - vector descendants; - getDescendants(descendants); - - for(Node *node : descendants) - for(Mesh *mesh : node->getMeshes()) - mesh->setMaterial(nullptr); - - while(!children.empty()){ - Node *c = children[children.size() - 1]; - dettachChild(c); - delete c; - } + this->setMaterial(nullptr); } void Model::update(){