summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2017-11-07 13:20:04 +0000
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2017-11-07 13:20:04 +0000
commit14f429329f5e9c570ff4e79f177f3bb8d0471252 (patch)
tree0cda9f7419693c9fc3ce37e62c895d2db654d98b /indra
parente8fe39f33266c96797ca976978b24bf9cd778f8c (diff)
SL-830 - fix for previously selected animated objects disappearing when going static
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llviewermessage.cpp9
-rw-r--r--indra/newview/llvovolume.cpp1
2 files changed, 7 insertions, 3 deletions
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 9de8c81c2b..0b2931886a 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -5114,6 +5114,9 @@ void process_object_animation(LLMessageSystem *mesgsys, void **user_data)
LL_DEBUGS("AXON") << "processing object animation requests, num_blocks " << num_blocks << LL_ENDL;
#if 1
+ // Here we go into skinned mode once, the first time we get an
+ // animation request, and then stay there. This is probably the
+ // normally desired behavior.
if (!avatarp->mPlaying)
{
avatarp->mPlaying = true;
@@ -5121,6 +5124,9 @@ void process_object_animation(LLMessageSystem *mesgsys, void **user_data)
avatarp->mRootVolp->recursiveMarkForUpdate(TRUE);
}
#else
+ // AXON
+ // In this block we switch back into static mode when no animations are
+ // playing. This is mostly useful for debugging.
if (num_blocks > 0 && !avatarp->mPlaying)
{
avatarp->mPlaying = true;
@@ -5133,9 +5139,6 @@ void process_object_animation(LLMessageSystem *mesgsys, void **user_data)
}
else if (num_blocks == 0 && avatarp->mPlaying)
{
- // AXON this will cause meshes to go back to static when no
- // animations are signalled. Probably don't want to leave this
- // way but helpful for testing.
avatarp->mPlaying = false;
// AXON need to update all objects in the linkset, not just the one where animation is playing
if (!avatarp->mRootVolp->isAnySelected())
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index abef312572..9d98822082 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -5557,6 +5557,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
else
{
drawablep->clearState(LLDrawable::RIGGED);
+ vobj->updateRiggedVolume();
}
}
}