summaryrefslogtreecommitdiff
path: root/indra/newview/llagentcamera.cpp
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2015-08-25 11:40:36 -0700
committerRider Linden <rider@lindenlab.com>2015-08-25 11:40:36 -0700
commit96bb17f20bbcdc595f3a615a3129e134595b3a4a (patch)
treee51e47f79b78a076e821360763196cc72c154aad /indra/newview/llagentcamera.cpp
parent7c61728b4bae928b2461f0f933dd1c1fa34ef0aa (diff)
parent1be63209331d509396bd7ee79302d511fe83d72e (diff)
Merge
Diffstat (limited to 'indra/newview/llagentcamera.cpp')
-rwxr-xr-xindra/newview/llagentcamera.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp
index 7f0330ee99..aed27924fe 100755
--- a/indra/newview/llagentcamera.cpp
+++ b/indra/newview/llagentcamera.cpp
@@ -147,6 +147,7 @@ LLAgentCamera::LLAgentCamera() :
mCameraUpVector(LLVector3::z_axis), // default is straight up
mFocusOnAvatar(TRUE),
+ mAllowChangeToFollow(FALSE),
mFocusGlobal(),
mFocusTargetGlobal(),
mFocusObject(NULL),
@@ -1152,8 +1153,10 @@ void LLAgentCamera::updateCamera()
mCameraUpVector = mCameraUpVector * gAgentAvatarp->getRenderRotation();
}
- if (cameraThirdPerson() && mFocusOnAvatar && LLFollowCamMgr::getActiveFollowCamParams())
+ if (cameraThirdPerson() && (mFocusOnAvatar || mAllowChangeToFollow) && LLFollowCamMgr::getActiveFollowCamParams())
{
+ mAllowChangeToFollow = FALSE;
+ mFocusOnAvatar = TRUE;
changeCameraToFollow();
}
@@ -2610,6 +2613,7 @@ void LLAgentCamera::setFocusOnAvatar(BOOL focus_on_avatar, BOOL animate)
{
// keep camera focus point consistent, even though it is now unlocked
setFocusGlobal(gAgent.getPositionGlobal() + calcThirdPersonFocusOffset(), gAgent.getID());
+ mAllowChangeToFollow = FALSE;
}
mFocusOnAvatar = focus_on_avatar;