summaryrefslogtreecommitdiff
path: root/indra/llmath
diff options
context:
space:
mode:
authorAndreyL ProductEngine <alihatskiy@productengine.com>2019-09-10 23:31:51 +0300
committerAndreyL ProductEngine <alihatskiy@productengine.com>2019-09-10 23:31:51 +0300
commit1b66e4673d9779a1c67cfb074bb15c597d1c5779 (patch)
tree1aa96c63f62c9dddec111eee5bb021ced19ea93d /indra/llmath
parent7d9b7e93ed0a157320ccc86d65f16e7fdfc8fbf1 (diff)
parente241670694959833feaa0e667222b337095eb683 (diff)
MergeMerged in lindenlab/viewer-release
Diffstat (limited to 'indra/llmath')
-rw-r--r--indra/llmath/lloctree.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/indra/llmath/lloctree.h b/indra/llmath/lloctree.h
index 280d2653d3..0e2f62f9db 100644
--- a/indra/llmath/lloctree.h
+++ b/indra/llmath/lloctree.h
@@ -401,7 +401,7 @@ public:
child->insert(data);
}
}
- 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;
@@ -416,6 +416,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;
+ }
return false;
}
@@ -763,10 +770,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)
{