diff options
author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2017-11-07 13:20:04 +0000 |
---|---|---|
committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2017-11-07 13:20:04 +0000 |
commit | 14f429329f5e9c570ff4e79f177f3bb8d0471252 (patch) | |
tree | 0cda9f7419693c9fc3ce37e62c895d2db654d98b /indra | |
parent | e8fe39f33266c96797ca976978b24bf9cd778f8c (diff) |
SL-830 - fix for previously selected animated objects disappearing when going static
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llviewermessage.cpp | 9 | ||||
-rw-r--r-- | indra/newview/llvovolume.cpp | 1 |
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(); } } } |