Fixed some memory leaks

This commit is contained in:
viktorljung
2016-02-22 17:47:30 +01:00
parent abd36c81f8
commit 127edb4e60
4 changed files with 29 additions and 7 deletions
+18
View File
@@ -53,7 +53,25 @@ BlendTree::BlendTree(EntityWrapper ModelEntity, Skeleton* skeleton)
BlendTree::~BlendTree()
{
Node* currentNode = m_Root;
while (currentNode->Child[0] != nullptr) {
currentNode = currentNode->Child[0];
}
std::list<Node*> m_NodesToRemove;
while (currentNode != nullptr) {
currentNode = currentNode->Next();
m_NodesToRemove.push_back(currentNode);
}
for (auto it = m_NodesToRemove.begin(); it != m_NodesToRemove.end(); it++) {
if ((*it) != nullptr) {
delete (*it);
(*it) = nullptr;
}
}
}
void BlendTree::PrintTree()
+3 -1
View File
@@ -591,12 +591,14 @@ std::vector<glm::mat4> Skeleton::OverridePose(std::vector<glm::mat4> overridePos
return finalPose;
}
for (int i = 0; i < overridePose.size(); i++) {
for (int i = 0; i < targetPose.size(); i++) {
if(overridePose[i] != glm::mat4(1)) {
finalPose.push_back(overridePose[i]);
} else {
finalPose.push_back(targetPose[i]);
}
//finalPose.push_back(overridePose[i]);
}
return finalPose;