Core/Node: Improved SetParent check

Former-commit-id: f9863603ee5f4b2d31b66716fa58f9749f5271ae
This commit is contained in:
Lynix 2015-05-06 20:20:27 +02:00
parent e55b4edd0c
commit 045aa86c9c
1 changed files with 10 additions and 3 deletions

View File

@ -416,10 +416,17 @@ void NzNode::SetInitialScale(float scaleX, float scaleY, float scaleZ)
void NzNode::SetParent(const NzNode* node, bool keepDerived)
{
#if NAZARA_UTILITY_SAFE
if (node == this)
// On vérifie que le node n'est pas son propre parent
const NzNode* parentNode = node;
while (parentNode)
{
NazaraError("A node cannot be it's own parent");
return;
if (parentNode == this)
{
NazaraError("A node cannot be it's own parent");
return;
}
parentNode = parentNode->GetParent();
}
#endif