Fixed memory error

This commit is contained in:
andreja6
2020-03-13 18:06:55 -07:00
parent 24854a062a
commit f08799d49c

View File

@@ -76,19 +76,20 @@ void PartInstance::postRender(RenderDevice *rd)
} }
} }
void PartInstance::setParent(Instance* parent) void PartInstance::setParent(Instance* prnt)
{ {
Instance * cparent = this->parent; Instance * cparent = getParent();
while(cparent != NULL) while(cparent != NULL)
{ {
if(WorkspaceInstance* workspace = dynamic_cast<WorkspaceInstance*>(parent)) if(WorkspaceInstance* workspace = dynamic_cast<WorkspaceInstance*>(cparent))
{ {
std::cout << "Removed from partarray " << std::endl;
workspace->partObjects.erase(std::remove(workspace->partObjects.begin(), workspace->partObjects.end(), this), workspace->partObjects.end()); workspace->partObjects.erase(std::remove(workspace->partObjects.begin(), workspace->partObjects.end(), this), workspace->partObjects.end());
break; break;
} }
cparent = cparent->getParent(); cparent = cparent->getParent();
} }
Instance::setParent(parent); Instance::setParent(prnt);
while(parent != NULL) while(parent != NULL)
{ {
if(WorkspaceInstance* workspace = dynamic_cast<WorkspaceInstance*>(parent)) if(WorkspaceInstance* workspace = dynamic_cast<WorkspaceInstance*>(parent))