diff options
| -rwxr-xr-x | indra/newview/llviewerpartsim.cpp | 19 | 
1 files changed, 11 insertions, 8 deletions
diff --git a/indra/newview/llviewerpartsim.cpp b/indra/newview/llviewerpartsim.cpp index 230bdca4ef..ab510c1e95 100755 --- a/indra/newview/llviewerpartsim.cpp +++ b/indra/newview/llviewerpartsim.cpp @@ -39,6 +39,7 @@  #include "llworld.h"  #include "pipeline.h"  #include "llspatialpartition.h" +#include "llvoavatarself.h"  #include "llvovolume.h"  const F32 PART_SIM_BOX_SIDE = 16.f; @@ -703,16 +704,18 @@ void LLViewerPartSim::updateSimulation()  		if (!mViewerPartSources[i]->isDead())  		{  			BOOL upd = TRUE; -			if (!LLPipeline::sRenderAttachedParticles) +			LLViewerObject* vobj = mViewerPartSources[i]->mSourceObjectp; +			if (vobj && (vobj->getPCode() == LL_PCODE_VOLUME))  			{ -				LLViewerObject* vobj = mViewerPartSources[i]->mSourceObjectp; -				if (vobj && (vobj->getPCode() == LL_PCODE_VOLUME)) +				if(vobj->getAvatar() && vobj->getAvatar()->isTooComplex())  				{ -					LLVOVolume* vvo = (LLVOVolume *)vobj; -					if (vvo && vvo->isAttachment()) -					{ -						upd = FALSE; -					} +					upd = FALSE; +				} + +				LLVOVolume* vvo = (LLVOVolume *)vobj; +				if (!LLPipeline::sRenderAttachedParticles && vvo && vvo->isAttachment()) +				{ +					upd = FALSE;  				}  			}  | 
