summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2013-09-26 11:03:51 -0600
committerXiaohong Bao <bao@lindenlab.com>2013-09-26 11:03:51 -0600
commit458990b435dabf0d9ad598920fdf9a3dd84e2f8e (patch)
treeef3944208bb2ee86beb78a106d5487a81a076e27
parent1aec07aecfd1a39adf83589473cd7c3cfbc1cd76 (diff)
parent9053b9020a380f95f23051ca123127519db53e29 (diff)
Automated merge with http://bitbucket.org/lindenlab/viewer-interesting
-rwxr-xr-xindra/llmath/lltreenode.h9
-rw-r--r--indra/newview/llvieweroctree.cpp2
2 files changed, 9 insertions, 2 deletions
diff --git a/indra/llmath/lltreenode.h b/indra/llmath/lltreenode.h
index c66bc26176..0b479c4564 100755
--- a/indra/llmath/lltreenode.h
+++ b/indra/llmath/lltreenode.h
@@ -57,7 +57,14 @@ public:
virtual bool remove(T* data);
virtual void notifyRemoval(T* data);
virtual U32 getListenerCount() { return mListeners.size(); }
- virtual LLTreeListener<T>* getListener(U32 index) const { return mListeners[index]; }
+ virtual LLTreeListener<T>* getListener(U32 index) const
+ {
+ if(index < mListeners.size())
+ {
+ return mListeners[index];
+ }
+ return NULL;
+ }
virtual void addListener(LLTreeListener<T>* listener) { mListeners.push_back(listener); }
protected:
diff --git a/indra/newview/llvieweroctree.cpp b/indra/newview/llvieweroctree.cpp
index 47033afea3..e1684c19df 100644
--- a/indra/newview/llvieweroctree.cpp
+++ b/indra/newview/llvieweroctree.cpp
@@ -957,7 +957,7 @@ public:
{
LLOcclusionCullingGroup* group = (LLOcclusionCullingGroup*) n->getListener(0);
- if (group->isOcclusionState(mState))
+ if (group && group->isOcclusionState(mState))
{
OctreeTraveler::traverse(n);
}