diff options
| author | Igor Borovkov <iborovkov@productengine.com> | 2010-01-05 15:47:12 +0200 | 
|---|---|---|
| committer | Igor Borovkov <iborovkov@productengine.com> | 2010-01-05 15:47:12 +0200 | 
| commit | 7669c07572e78b00eb93644a13d221f0eea5f2eb (patch) | |
| tree | 87f4ba67ad396b3b6549a8f2bd67a25ee7606fd0 | |
| parent | 5043fcce370fd21e9709f94787191a060919cc2b (diff) | |
EXT-3667  Usability : Returning back from mousehook does not set the user back to See as Avatar
--HG--
branch : product-engine
| -rw-r--r-- | indra/newview/llagent.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llfloatercamera.cpp | 25 | ||||
| -rw-r--r-- | indra/newview/llfloatercamera.h | 4 | 
3 files changed, 12 insertions, 23 deletions
| diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index d2a56f65dd..5e2e374df6 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -2812,7 +2812,7 @@ void LLAgent::endAnimationUpdateUI()  		LLToolMgr::getInstance()->setCurrentToolset(gBasicToolset); -		LLFloaterCamera::toPrevModeIfInAvatarViewMode(); +		LLFloaterCamera::onLeavingMouseLook();  		// Only pop if we have pushed...  		if (TRUE == mViewsPushed) @@ -2915,10 +2915,6 @@ void LLAgent::endAnimationUpdateUI()  		// JC - Added for always chat in third person option  		gFocusMgr.setKeyboardFocus(NULL); -		//Making sure Camera Controls floater is in the right state  -		//when entering Mouse Look using wheel scrolling -		LLFloaterCamera::updateIfNotInAvatarViewMode(); -  		LLToolMgr::getInstance()->setCurrentToolset(gMouselookToolset);  		mViewsPushed = TRUE; diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp index 764aff68c9..9496e94780 100644 --- a/indra/newview/llfloatercamera.cpp +++ b/indra/newview/llfloatercamera.cpp @@ -144,6 +144,11 @@ void  LLPanelCameraZoom::onSliderValueChanged()  	mSavedSliderVal = val;  } +void activate_camera_tool() +{ +	LLToolMgr::getInstance()->setTransientTool(LLToolCamera::getInstance()); +}; +  //  // Member functions  // @@ -151,7 +156,7 @@ void  LLPanelCameraZoom::onSliderValueChanged()  /*static*/ bool LLFloaterCamera::inFreeCameraMode()  {  	LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance(); -	if (floater_camera && floater_camera->mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA) +	if (floater_camera && floater_camera->mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA && gAgent.getCameraMode() != CAMERA_MODE_MOUSELOOK)  	{  		return true;  	} @@ -177,27 +182,17 @@ void LLFloaterCamera::update()  } -/*static*/ void LLFloaterCamera::updateIfNotInAvatarViewMode() -{ -	LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance(); -	if (floater_camera && !floater_camera->inAvatarViewMode())  -	{ -		floater_camera->update(); -	} -} - -  void LLFloaterCamera::toPrevMode()  {  	switchMode(mPrevMode);  } -/*static*/ void LLFloaterCamera::toPrevModeIfInAvatarViewMode() +/*static*/ void LLFloaterCamera::onLeavingMouseLook()  {  	LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance(); -	if (floater_camera && floater_camera->inAvatarViewMode()) +	if (floater_camera && floater_camera->inFreeCameraMode())  	{ -		floater_camera->toPrevMode(); +		activate_camera_tool();  	}  } @@ -325,7 +320,7 @@ void LLFloaterCamera::switchMode(ECameraControlMode mode)  		break;  	case CAMERA_CTRL_MODE_FREE_CAMERA: -		LLToolMgr::getInstance()->setTransientTool(LLToolCamera::getInstance()); +		activate_camera_tool();  		break;  	case CAMERA_CTRL_MODE_AVATAR_VIEW: diff --git a/indra/newview/llfloatercamera.h b/indra/newview/llfloatercamera.h index 5d44b4944d..45d5e9a845 100644 --- a/indra/newview/llfloatercamera.h +++ b/indra/newview/llfloatercamera.h @@ -61,7 +61,7 @@ public:  	/* callback for camera presets changing */  	static void onClickCameraPresets(const LLSD& param); -	static void toPrevModeIfInAvatarViewMode(); +	static void onLeavingMouseLook();  	/** resets current camera mode to orbit mode */  	static void resetCameraMode(); @@ -69,8 +69,6 @@ public:  	/* determines actual mode and updates ui */  	void update(); -	static void updateIfNotInAvatarViewMode(); -  	virtual void onOpen(const LLSD& key);  	virtual void onClose(bool app_quitting); | 
