diff options
author | andreykproductengine <akleshchev@productengine.com> | 2014-06-16 20:38:43 +0300 |
---|---|---|
committer | andreykproductengine <akleshchev@productengine.com> | 2014-06-16 20:38:43 +0300 |
commit | 3686dc3e37511009be02b61edcd483cb9a032b1b (patch) | |
tree | f459c9949a00982c602e2528df46ee2b973c6081 /indra/newview/lltoolgrab.cpp | |
parent | 19560d1b7538accc58f61da94138d054207ea22d (diff) |
MAINT-3634 FIXED After right-clicking another avatars nametag or avatar then pressing the "Alt" key, most options in the dropdown menu will no longer function.
Diffstat (limited to 'indra/newview/lltoolgrab.cpp')
-rwxr-xr-x | indra/newview/lltoolgrab.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/newview/lltoolgrab.cpp b/indra/newview/lltoolgrab.cpp index 9ac84e0066..fa6694b93b 100755 --- a/indra/newview/lltoolgrab.cpp +++ b/indra/newview/lltoolgrab.cpp @@ -56,6 +56,7 @@ #include "llviewerregion.h" #include "llvoavatarself.h" #include "llworld.h" +#include "llmenugl.h" const S32 SLOP_DIST_SQ = 4; @@ -98,6 +99,8 @@ void LLToolGrab::handleSelect() { // viewer can crash during startup if we don't check. gFloaterTools->setStatusText("grab"); + // in case we start from tools floater, we count any selection as valid + mValidSelection = gFloaterTools->getVisible(); } gGrabBtnVertical = FALSE; gGrabBtnSpin = FALSE; @@ -110,6 +113,14 @@ void LLToolGrab::handleDeselect() setMouseCapture( FALSE ); } + // Make sure that temporary(invalid) selection won't pass anywhere except pie tool. + MASK override_mask = gKeyboard ? gKeyboard->currentMask(TRUE) : 0; + if (!mValidSelection && (override_mask != MASK_NONE || (gFloaterTools && gFloaterTools->getVisible()))) + { + LLMenuGL::sMenuContainer->hideMenus(); + LLSelectMgr::getInstance()->validateSelection(); + } + } BOOL LLToolGrab::handleDoubleClick(S32 x, S32 y, MASK mask) |