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 | |
| parent | e8fe39f33266c96797ca976978b24bf9cd778f8c (diff) | |
SL-830 - fix for previously selected animated objects disappearing when going static
| -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();  			}  		}  	} | 
