From 618766da89bc5a4be17e4ddb10d8b06c269aee23 Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Tue, 12 Jul 2022 23:11:31 +0300
Subject: [PATCH] SL-17758 Crash at
 LLSpatialSetOcclusionStateDiff::traverse(850)

According to bugsplat node was null
---
 indra/newview/llvieweroctree.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/indra/newview/llvieweroctree.cpp b/indra/newview/llvieweroctree.cpp
index 12624ec3a20..36b2bd4c32b 100644
--- a/indra/newview/llvieweroctree.cpp
+++ b/indra/newview/llvieweroctree.cpp
@@ -948,6 +948,7 @@ void LLOcclusionCullingGroup::setOcclusionState(U32 state, S32 mode /* = STATE_M
         break;
 
     case STATE_MODE_DIFF:
+        if (mOctreeNode)
         {
             LLSpatialSetOcclusionStateDiff setter(state);
             setter.traverse(mOctreeNode);
@@ -955,6 +956,7 @@ void LLOcclusionCullingGroup::setOcclusionState(U32 state, S32 mode /* = STATE_M
         break;
 
     case STATE_MODE_BRANCH:
+        if (mOctreeNode)
         {
             LLSpatialSetOcclusionState setter(state);
             setter.traverse(mOctreeNode);
@@ -1024,6 +1026,7 @@ void LLOcclusionCullingGroup::clearOcclusionState(U32 state, S32 mode /* = STATE
             break;
 
         case STATE_MODE_DIFF:
+            if (mOctreeNode)
             {
                 LLSpatialClearOcclusionStateDiff clearer(state);
                 clearer.traverse(mOctreeNode);
@@ -1031,6 +1034,7 @@ void LLOcclusionCullingGroup::clearOcclusionState(U32 state, S32 mode /* = STATE
             break;
 
         case STATE_MODE_BRANCH:
+            if (mOctreeNode)
             {
                 LLSpatialClearOcclusionState clearer(state);
                 clearer.traverse(mOctreeNode);
-- 
GitLab