summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerpartsim.cpp
diff options
context:
space:
mode:
authorcallum_linden <none@none>2016-05-23 16:50:56 -0700
committercallum_linden <none@none>2016-05-23 16:50:56 -0700
commit05fcb7c8126a3f3496d948affe7f2722c9ca8fad (patch)
tree159e542492c5c1fab1a04ef8a29b22fd60e4766a /indra/newview/llviewerpartsim.cpp
parent50ab1e57ec21f2009013b3bc061047887cdd07d5 (diff)
parentc2ef3b4c7186dbbd95b16520f281b7d58364fb52 (diff)
Automated merge with tip of viewer-release
Diffstat (limited to 'indra/newview/llviewerpartsim.cpp')
-rw-r--r--[-rwxr-xr-x]indra/newview/llviewerpartsim.cpp25
1 files changed, 17 insertions, 8 deletions
diff --git a/indra/newview/llviewerpartsim.cpp b/indra/newview/llviewerpartsim.cpp
index 230bdca4ef..b4617566ac 100755..100644
--- 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,24 @@ void LLViewerPartSim::updateSimulation()
if (!mViewerPartSources[i]->isDead())
{
BOOL upd = TRUE;
- if (!LLPipeline::sRenderAttachedParticles)
+ LLViewerObject* vobj = mViewerPartSources[i]->mSourceObjectp;
+
+ if (vobj && vobj->isAvatar() && ((LLVOAvatar*)vobj)->isInMuteList())
+ {
+ upd = FALSE;
+ }
+
+ if (upd && vobj && (vobj->getPCode() == LL_PCODE_VOLUME))
{
- LLViewerObject* vobj = mViewerPartSources[i]->mSourceObjectp;
- if (vobj && (vobj->getPCode() == LL_PCODE_VOLUME))
+ if(vobj->getAvatar() && vobj->getAvatar()->isTooComplex())
+ {
+ upd = FALSE;
+ }
+
+ LLVOVolume* vvo = (LLVOVolume *)vobj;
+ if (!LLPipeline::sRenderAttachedParticles && vvo && vvo->isAttachment())
{
- LLVOVolume* vvo = (LLVOVolume *)vobj;
- if (vvo && vvo->isAttachment())
- {
- upd = FALSE;
- }
+ upd = FALSE;
}
}