summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMnikolenko ProductEngine <mnikolenko@productengine.com>2015-12-01 15:29:43 +0200
committerMnikolenko ProductEngine <mnikolenko@productengine.com>2015-12-01 15:29:43 +0200
commit2ede35f1b67ad4e101f31e7329e53be10128d18c (patch)
tree4b6b936e454c66458dff5687913436a4bf20fbfa
parentd3b4f34eb7ff80315f1d714aa50bc7d7d33f9855 (diff)
MAINT-5681 FIXED particles still render when complexity threshold is reached
-rwxr-xr-xindra/newview/llviewerpartsim.cpp19
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;
}
}