diff options
| author | andreykproductengine <andreykproductengine@lindenlab.com> | 2019-11-28 17:07:02 +0200 |
|---|---|---|
| committer | andreykproductengine <andreykproductengine@lindenlab.com> | 2019-11-28 17:07:02 +0200 |
| commit | efe2ba3bab732add39f46e1fbc3a331355a693dd (patch) | |
| tree | b151192b9ce0919af386445e581943538667ec16 /indra/newview/lltoolgrab.cpp | |
| parent | fd77a8001593183953ac24488593d997aee6bc28 (diff) | |
SL-12264 Ctrl-drag does not work when certain scripted controls are active
Diffstat (limited to 'indra/newview/lltoolgrab.cpp')
| -rw-r--r-- | indra/newview/lltoolgrab.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/indra/newview/lltoolgrab.cpp b/indra/newview/lltoolgrab.cpp index 429664e743..ba00d4c262 100644 --- a/indra/newview/lltoolgrab.cpp +++ b/indra/newview/lltoolgrab.cpp @@ -142,8 +142,9 @@ BOOL LLToolGrabBase::handleMouseDown(S32 x, S32 y, MASK mask) // call the base class to propogate info to sim LLTool::handleMouseDown(x, y, mask); - - if (!gAgent.leftButtonGrabbed()) + + // leftButtonGrabbed() checks if controls are reserved by scripts, but does not take masks into account + if (!gAgent.leftButtonGrabbed() || ((mask & DEFAULT_GRAB_MASK) != 0 && !gAgentCamera.cameraMouselook())) { // can grab transparent objects (how touch event propagates, scripters rely on this) gViewerWindow->pickAsync(x, y, mask, pickCallback, /*BOOL pick_transparent*/ TRUE); |
