From 9d429ad0dca131a107248c95f443e388df16ddf7 Mon Sep 17 00:00:00 2001
From: shadoskill <shadoskill@gmail.com>
Date: Mon, 4 Sep 2023 18:13:57 -0700
Subject: [PATCH] Add toggle to not rotate avatar when clicking on it.

---
 indra/newview/app_settings/settings.xml              | 11 +++++++++++
 indra/newview/lltoolpie.cpp                          |  4 +++-
 .../xui/en/panel_preferences_move_general.xml        | 12 ++++++++++++
 3 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 67995db1be3..891fc6b4965 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -17935,5 +17935,16 @@
     <key>Value</key>
     <integer>0</integer>
   </map>
+  <key>ClickingAvatarKeepsCamera</key>
+  <map>
+    <key>Comment</key>
+    <string>This option allows you to orbit your camera without your avatar rotating when clicking on it or your nametag.</string>
+    <key>Persist</key>
+    <integer>1</integer>
+    <key>Type</key>
+    <string>Boolean</string>
+    <key>Value</key>
+    <integer>0</integer>
+  </map>
 </map>
 </llsd>
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index 685066506be..8dba8c6630b 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -498,7 +498,9 @@ BOOL LLToolPie::handleLeftClickPick()
 		LLToolCamera::getInstance()->setMouseCapture(TRUE);
         LLToolCamera::getInstance()->setClickPickPending();
 		LLToolCamera::getInstance()->pickCallback(mPick);
-		gAgentCamera.setFocusOnAvatar(TRUE, TRUE);
+        if(!gSavedSettings.getBool("ClickingAvatarKeepsCamera")){
+            gAgentCamera.setFocusOnAvatar(TRUE, TRUE);
+		}
 
 		return TRUE;
 	}
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_move_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_move_general.xml
index 3d775e3a42d..e1f60e1a9ff 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_move_general.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_move_general.xml
@@ -55,6 +55,18 @@
    show_text="false"
    width="240"
    top_pad="5"/>
+    <check_box
+      control_name="ClickingAvatarKeepsCamera"
+      follows="left|top"
+      height="25"
+      label="Clicking on your avatar does not rotate it."
+      tool_tip="This option allows you to orbit your camera without your avatar rotating when clicking on it or your nametag."
+      layout="topleft"
+      left_delta="0"
+      name="clicking_avatar_keeps_camera"
+      width="237"
+      top_pad="0"
+    />
   <text
   follows="left|top"
   type="string"
-- 
GitLab