diff --git a/indra/newview/fsfloaterposer.cpp b/indra/newview/fsfloaterposer.cpp index 9f058c8cc3..7851bf9d5f 100644 --- a/indra/newview/fsfloaterposer.cpp +++ b/indra/newview/fsfloaterposer.cpp @@ -733,7 +733,10 @@ void FSFloaterPoser::loadPoseFromXml(LLVOAvatar* avatar, const std::string& pose loadPositionsAndScalesAsDeltas = true; if (startFromZeroRot) // old save formats will always start from T-Pose, for better or worse. + { + disableRecapture(); mPoserAnimator.setAllAvatarStartingRotationsToZero(avatar); + } for (LLSD::map_const_iterator itr = pose.beginMap(); itr != pose.endMap(); ++itr) { @@ -1129,10 +1132,7 @@ void FSFloaterPoser::onSetAvatarToTpose() if (!avatar) return; - mRecaptureJointsButton->setEnabled(false); - mSavePosesBtn->setLabel("Save Pose"); - mDisableRecaptureUntilStopPosing = true; - + disableRecapture(); mPoserAnimator.setAllAvatarStartingRotationsToZero(avatar); } @@ -2039,6 +2039,13 @@ void FSFloaterPoser::refreshTextHighlightingOnAllScrollLists() addBoldToScrollList(mCollisionVolumesScrollList, avatar); } +void FSFloaterPoser::disableRecapture() +{ + mRecaptureJointsButton->setEnabled(false); + mSavePosesBtn->setLabel("Save Pose"); + mDisableRecaptureUntilStopPosing = true; +} + void FSFloaterPoser::reEnableRecaptureIfAllowed() { if (posingAnyoneOnScrollList()) diff --git a/indra/newview/fsfloaterposer.h b/indra/newview/fsfloaterposer.h index 71c2fb4126..198d6097ba 100644 --- a/indra/newview/fsfloaterposer.h +++ b/indra/newview/fsfloaterposer.h @@ -298,6 +298,11 @@ class FSFloaterPoser : public LLFloater /// void refreshTextHighlightingOnAllScrollLists(); + /// + /// Disables recapturing joint traits. + /// + void disableRecapture(); + /// /// Recapture is be disabled if user is making their own pose (starting from a T-Pose). ///