diff options
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; } |