From 71658a024e03ef11b2531cfc7205c9ef7f72c99b Mon Sep 17 00:00:00 2001
From: Xiaohong Bao <bao@lindenlab.com>
Date: Thu, 2 Jun 2011 12:05:45 -0600
Subject: fix for SH-1691: [crashhunters] crash at
 LLVolumeImplFlexible::doFlexibleUpdate() [secondlife-bin
 llflexibleobject.cpp]

---
 indra/newview/llflexibleobject.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

(limited to 'indra')

diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp
index 3d1650d2f5..32a533570a 100644
--- a/indra/newview/llflexibleobject.cpp
+++ b/indra/newview/llflexibleobject.cpp
@@ -366,7 +366,7 @@ void LLVolumeImplFlexible::doFlexibleUpdate()
 	LLFastTimer ftm(FTM_DO_FLEXIBLE_UPDATE);
 	LLVolume* volume = mVO->getVolume();
 	LLPath *path = &volume->getPath();
-	if ((mSimulateRes == 0 || !mInitialized) && mVO->mDrawable->isVisible()) // if its uninitialized but not visible, what then? - Nyx
+	if ((mSimulateRes == 0 || !mInitialized) && mVO->mDrawable->isVisible()) 
 	{
 		mVO->markForUpdate(TRUE);
 		if (!doIdleUpdate(gAgent, *LLWorld::getInstance(), 0.0))
@@ -375,7 +375,11 @@ void LLVolumeImplFlexible::doFlexibleUpdate()
 		}
 	}
 
-	llassert_always(mInitialized);
+	if(!mInitialized)
+	{
+		//the object is not visible
+		return ;
+	}
 	
 	S32 num_sections = 1 << mSimulateRes;
 
-- 
cgit v1.2.3