diff options
author | callum <none@none> | 2011-04-29 15:35:22 -0700 |
---|---|---|
committer | callum <none@none> | 2011-04-29 15:35:22 -0700 |
commit | 367823ced0cc885474850b4400c7936d667a7d7a (patch) | |
tree | 38491857efc91fe937d6fcbb7dac76e990ac41c5 /indra | |
parent | f56a2e55ccd86e3739f69c3d8dcc007c337bdaa1 (diff) |
EXP-623 FIX Selecting fly option while on click to walk path flys avatar to
end point but avatar spins and shakes when arriving at click point
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llagent.cpp | 3 | ||||
-rw-r--r-- | indra/newview/lltoolpie.cpp | 9 | ||||
-rw-r--r-- | indra/newview/lltoolpie.h | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 7d491a7774..a6d2c96d52 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -62,6 +62,7 @@ #include "llstatusbar.h" #include "llteleportflags.h" #include "lltool.h" +#include "lltoolpie.h" #include "lltoolmgr.h" #include "lltrans.h" #include "llurlentry.h" @@ -559,6 +560,8 @@ void LLAgent::setFlying(BOOL fly) // static void LLAgent::toggleFlying() { + LLToolPie::instance().stopClickToWalk(); + BOOL fly = !gAgent.getFlying(); gAgent.mMoveTimer.reset(); diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index 06e0d17b8c..9ec4d33036 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -688,6 +688,15 @@ BOOL LLToolPie::handleMouseUp(S32 x, S32 y, MASK mask) return LLTool::handleMouseUp(x, y, mask); } +void LLToolPie::stopClickToWalk() +{ + mPick.mPosGlobal = gAgent.getPositionGlobal(); + handle_go_to(); + if(mAutoPilotDestination) + { + mAutoPilotDestination->markDead(); + } +} BOOL LLToolPie::handleDoubleClick(S32 x, S32 y, MASK mask) { diff --git a/indra/newview/lltoolpie.h b/indra/newview/lltoolpie.h index 22359a6db8..d7c79ee223 100644 --- a/indra/newview/lltoolpie.h +++ b/indra/newview/lltoolpie.h @@ -67,6 +67,7 @@ public: LLObjectSelection* getLeftClickSelection() { return (LLObjectSelection*)mLeftClickSelection; } void resetSelection(); void blockClickToWalk() { mBlockClickToWalk = true; } + void stopClickToWalk(); static void selectionPropertiesReceived(); |