From b7b3c99172cd9bea8da44680b5e121a6603c8fea Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Tue, 18 Apr 2023 12:49:04 -0400
Subject: [PATCH] Bonk

---
 indra/newview/app_settings/settings_alchemy.xml     |  2 +-
 indra/newview/llagentcamera.cpp                     |  9 ++++++++-
 .../default/xui/en/panel_preferences_privacy.xml    | 13 ++++++++++++-
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/indra/newview/app_settings/settings_alchemy.xml b/indra/newview/app_settings/settings_alchemy.xml
index 40499069ed9..a34e06d6987 100644
--- a/indra/newview/app_settings/settings_alchemy.xml
+++ b/indra/newview/app_settings/settings_alchemy.xml
@@ -467,7 +467,7 @@
     <key>AlchemyLookAtPrivate</key>
     <map>
       <key>Comment</key>
-      <string>[OBSOLETE]</string>
+      <string>Disable broadcast of own look at to other users.</string>
       <key>Persist</key>
       <integer>1</integer>
       <key>Type</key>
diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp
index 4f8d040cba4..1238d8cd7aa 100644
--- a/indra/newview/llagentcamera.cpp
+++ b/indra/newview/llagentcamera.cpp
@@ -2965,7 +2965,14 @@ void LLAgentCamera::setFocusOnAvatar(BOOL focus_on_avatar, BOOL animate, BOOL re
 
 BOOL LLAgentCamera::setLookAt(ELookAtType target_type, LLViewerObject *object, LLVector3 position)
 {
-	if(object && object->isAttachment())
+	static LLCachedControl<bool> isPrivate(gSavedSettings, "AlchemyLookAtPrivate", false);
+	if (isPrivate)
+	{
+		target_type = LOOKAT_TARGET_NONE;
+		object = gAgentAvatarp;
+		position.clearVec();
+	}
+	else if(object && object->isAttachment())
 	{
 		LLViewerObject* parent = object;
 		while(parent)
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml
index c1b6d421e0d..1c722525fa5 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml
@@ -143,10 +143,20 @@
          text_color="LtGray_50">
             My LookAt:
         </text>
+        <check_box
+         control_name="AlchemyLookAtPrivate"
+         height="16"
+         label="Don't send my Look At target to others"
+         layout="topleft"
+         left="30"
+         name="privatelookat"
+         tool_tip="Disable your camera focus point from showing to others"
+         width="350" />
         <check_box
          control_name="AlchemyLookAtClampEnabled"
+         disabled_control="AlchemyLookAtPrivate"
          height="16"
-         label="Limit camera target distance"
+         label="Limit Look At distance from avatar head"
          layout="topleft"
          left="30"
          name="privatelookat"
@@ -160,6 +170,7 @@
             max_val="128"
             follows="top|left"
             control_name="AlchemyLookAtClampDistance"
+            disabled_control="AlchemyLookAtPrivate"
             initial_value="1.0"
             increment="0.5"
             label="Max Distance"
-- 
GitLab