From 50c8c0fc7869f3babdfd1bb6c8dd72eefdba812d Mon Sep 17 00:00:00 2001
From: Xiaohong Bao <bao@lindenlab.com>
Date: Wed, 2 Oct 2013 17:55:16 -0600
Subject: [PATCH] fix for SH-4521: Interesting viewer crash in
 Pipeline:RenderDrawPools

---
 indra/newview/llvieweroctree.h | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/indra/newview/llvieweroctree.h b/indra/newview/llvieweroctree.h
index 6ebd1d6da11..174af5e22f5 100644
--- a/indra/newview/llvieweroctree.h
+++ b/indra/newview/llvieweroctree.h
@@ -83,7 +83,9 @@ class LLViewerOctreeEntry : public LLRefCount
 		NUM_DATA_TYPE
 	}eEntryDataType_t;
 
-	~LLViewerOctreeEntry();
+protected:
+	virtual ~LLViewerOctreeEntry();
+
 public:
 	LLViewerOctreeEntry();
 	
@@ -187,7 +189,7 @@ class LLviewerOctreeGroup : public LLOctreeListener<LLViewerOctreeEntry>
 {
 	friend class LLViewerOctreeCull;
 protected:
-	~LLviewerOctreeGroup();
+	virtual ~LLviewerOctreeGroup();
 
 public:	
 	enum
@@ -303,13 +305,15 @@ class LLOcclusionCullingGroup : public LLviewerOctreeGroup
 		STATE_MODE_ALL_CAMERAS,		//used for occlusion state, set state for all cameras
 	} eSetStateMode;
 
+protected:
+	virtual ~LLOcclusionCullingGroup();
+
 public:
 	LLOcclusionCullingGroup(OctreeNode* node, LLViewerOctreePartition* part);
 	LLOcclusionCullingGroup(const LLOcclusionCullingGroup& rhs) : LLviewerOctreeGroup(rhs)
 	{
 		*this = rhs;
-	}
-	~LLOcclusionCullingGroup();
+	}	
 
 	void setOcclusionState(U32 state, S32 mode = STATE_MODE_SINGLE);
 	void clearOcclusionState(U32 state, S32 mode = STATE_MODE_SINGLE);
-- 
GitLab