diff options
| author | Kyler Eastridge <felix.wolfz@gmail.com> | 2025-07-28 04:33:34 +0100 | 
|---|---|---|
| committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2025-07-29 20:12:46 +0300 | 
| commit | 5785bfdb700c618365ea22c4deb3e6330d31c3d2 (patch) | |
| tree | 449476b0bf8e0f687da968640e2f9ce126e1124a /indra/newview | |
| parent | 5c8fdad01fdbc68af3c38cfe147c87e9b4d6df7b (diff) | |
Fix look at target privacy causing head to get stuck
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llhudeffectlookat.cpp | 14 | ||||
| -rw-r--r-- | indra/newview/llhudeffectpointat.cpp | 12 | 
2 files changed, 20 insertions, 6 deletions
diff --git a/indra/newview/llhudeffectlookat.cpp b/indra/newview/llhudeffectlookat.cpp index a8fde33a25..e7894e6c84 100644 --- a/indra/newview/llhudeffectlookat.cpp +++ b/indra/newview/llhudeffectlookat.cpp @@ -393,14 +393,22 @@ void LLHUDEffectLookAt::setTargetPosGlobal(const LLVector3d &target_pos_global)  //-----------------------------------------------------------------------------  bool LLHUDEffectLookAt::setLookAt(ELookAtType target_type, LLViewerObject *object, LLVector3 position)  { -    static LLCachedControl<bool> enable_lookat_hints(gSavedSettings, "EnableLookAtHints", true); -    if (!enable_lookat_hints) +    if (!mSourceObject)      {          return false;      } -    if (!mSourceObject) +    static LLCachedControl<bool> enable_lookat_hints(gSavedSettings, "EnableLookAtHints", true); +    if (!enable_lookat_hints)      { +        if (mTargetType != LOOKAT_TARGET_IDLE) +        { +            mTargetObject = gAgentAvatarp; +            mTargetType = LOOKAT_TARGET_IDLE; +            mTargetOffsetGlobal.set(2.f, 0.f, 0.f); +            setDuration(3.f); +            setNeedsSendToSim(true); +        }          return false;      } diff --git a/indra/newview/llhudeffectpointat.cpp b/indra/newview/llhudeffectpointat.cpp index 23ab0e873d..b6515df3e1 100644 --- a/indra/newview/llhudeffectpointat.cpp +++ b/indra/newview/llhudeffectpointat.cpp @@ -222,14 +222,20 @@ void LLHUDEffectPointAt::setTargetPosGlobal(const LLVector3d &target_pos_global)  //-----------------------------------------------------------------------------  bool LLHUDEffectPointAt::setPointAt(EPointAtType target_type, LLViewerObject *object, LLVector3 position)  { -    static LLCachedControl<bool> enable_selection_hints(gSavedSettings, "EnableSelectionHints", true); -    if (!enable_selection_hints) +    if (!mSourceObject)      {          return false;      } -    if (!mSourceObject) +    static LLCachedControl<bool> enable_selection_hints(gSavedSettings, "EnableSelectionHints", true); +    if (!enable_selection_hints)      { +        if (mTargetType != POINTAT_TARGET_NONE) +        { +            clearPointAtTarget(); +            setDuration(1.f); +            setNeedsSendToSim(true); +        }          return false;      }  | 
