From 99effd37ab6cc6611f75cdca9146cc3c46a86482 Mon Sep 17 00:00:00 2001
From: "Brad Payne (Vir Linden)" <vir@lindenlab.com>
Date: Thu, 13 Jul 2017 20:50:38 +0100
Subject: SL-714 - pause animations when animated objects are right clicked,
 generate rigged volume for wireframe.

---
 indra/newview/llselectmgr.cpp | 11 ++++++++++-
 indra/newview/llvovolume.cpp  |  6 +++---
 2 files changed, 13 insertions(+), 4 deletions(-)

(limited to 'indra/newview')

diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index 983a7ca1ae..4a12d03f74 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -46,6 +46,7 @@
 #include "llundo.h"
 #include "lluuid.h"
 #include "llvolume.h"
+#include "llcontrolavatar.h"
 #include "message.h"
 #include "object_flags.h"
 #include "llquaternion.h"
@@ -6660,7 +6661,15 @@ void LLSelectMgr::updateSelectionCenter()
 		}
 		else
 		{
-			mPauseRequest = NULL;
+            LLVOVolume *volp = dynamic_cast<LLVOVolume*>(object);
+            if (volp && volp->isAnimatedObject() && volp->getControlAvatar())
+            {
+                mPauseRequest = volp->getControlAvatar()->requestPause();
+            }
+            else
+            {
+                mPauseRequest = NULL;
+            }
 		}
 
 		if (mSelectedObjects->mSelectType != SELECT_TYPE_HUD && isAgentAvatarValid())
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 4065f9fc37..d661837ddd 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -4269,9 +4269,9 @@ BOOL LLVOVolume::lineSegmentIntersect(const LLVector4a& start, const LLVector4a&
 bool LLVOVolume::treatAsRigged()
 {
 	return isSelected() &&
-			isAttachment() &&
-			mDrawable.notNull() &&
-			mDrawable->isState(LLDrawable::RIGGED);
+        (isAttachment() || isAnimatedObject()) &&
+        mDrawable.notNull() &&
+        mDrawable->isState(LLDrawable::RIGGED);
 }
 
 LLRiggedVolume* LLVOVolume::getRiggedVolume()
-- 
cgit v1.2.3