MAINT-931 Fixed Sitting avatar's rotation is not updated correctly viewer side

Wed, 14 Feb 2018 20:17:55 +0200

author
andreykproductengine <andreykproductengine@lindenlab.com>
date
Wed, 14 Feb 2018 20:17:55 +0200
changeset 55285
c8b6574c3f5b
parent 55284
6c6e8ceffbfd
child 55286
da06a005f97a
child 55287
09ebe35bb9fb

MAINT-931 Fixed Sitting avatar's rotation is not updated correctly viewer side

indra/newview/llpanelobject.cpp file | annotate | diff | revisions
     1.1 --- a/indra/newview/llpanelobject.cpp	Thu Feb 15 15:47:31 2018 +0200
     1.2 +++ b/indra/newview/llpanelobject.cpp	Wed Feb 14 20:17:55 2018 +0200
     1.3 @@ -1587,9 +1587,14 @@
     1.4  		{
     1.5  			rotation = rotation * ~mRootObject->getRotationRegion();
     1.6  		}
     1.7 +
     1.8 +		// To include avatars into movements and rotation
     1.9 +		// If false, all children are selected anyway - move avatar
    1.10 +		// If true, not all children are selected - save positions
    1.11 +		bool individual_selection = gSavedSettings.getBOOL("EditLinkedParts");
    1.12  		std::vector<LLVector3>& child_positions = mObject->mUnselectedChildrenPositions ;
    1.13  		std::vector<LLQuaternion> child_rotations;
    1.14 -		if (mObject->isRootEdit())
    1.15 +		if (mObject->isRootEdit() && individual_selection)
    1.16  		{
    1.17  			mObject->saveUnselectedChildrenRotation(child_rotations) ;
    1.18  			mObject->saveUnselectedChildrenPosition(child_positions) ;			
    1.19 @@ -1599,8 +1604,8 @@
    1.20  		LLManip::rebuild(mObject) ;
    1.21  
    1.22  		// for individually selected roots, we need to counterrotate all the children
    1.23 -		if (mObject->isRootEdit())
    1.24 -		{			
    1.25 +		if (mObject->isRootEdit() && individual_selection)
    1.26 +		{
    1.27  			mObject->resetChildrenRotationAndPosition(child_rotations, child_positions) ;			
    1.28  		}
    1.29  

mercurial