SL-6306 Viewer freeze and crash on octree

andreykproductengine 2019-05-13 18:53:11 +03:00
parent 91879797f5
commit 0559d569ec
1 changed files with 14 additions and 2 deletions

View File

@ -433,7 +433,7 @@ public:
}
}
#ifndef OPENSIM // <FS:CR> FIRE-11593: Opensim "4096 Bug" Fix by Latif Khalifa
else
else if (parent)
{
//it's not in here, give it to the root
OCT_ERRS << "Octree insertion failed, starting over from root!" << LL_ENDL;
@ -448,6 +448,13 @@ public:
node->insert(data);
}
else
{
// It's not in here, and we are root.
// LLOctreeRoot::insert() should have expanded
// root by now, something is wrong
OCT_ERRS << "Octree insertion failed! Root expansion failed." << LL_ENDL;
}
#endif // <FS:CR> FIRE-11593: Opensim "4096 Bug" Fix by Latif Khalifa
return false;
@ -800,10 +807,15 @@ public:
{
LLOctreeNode<T>::insert(data);
}
else
else if (node->isInside(data->getPositionGroup()))
{
node->insert(data);
}
else
{
// calling node->insert(data) will return us to root
OCT_ERRS << "Failed to insert data at child node" << LL_ENDL;
}
}
else if (this->getChildCount() == 0)
{