diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-08-11 21:29:59 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2021-08-11 21:37:32 +0300 |
commit | 6d05c44d712991815e991ba2c61ddc7370b66ead (patch) | |
tree | 8cab8451ef88d74ff6b075734f576e6b1f6b91ba /indra/newview/llviewerinput.cpp | |
parent | 10ba971b586ff2d12f58a1ad7d5eed8264584398 (diff) |
SL-15791 Assigned walk_to or teleport_to sometimes prevents controls from triggering
Diffstat (limited to 'indra/newview/llviewerinput.cpp')
-rw-r--r-- | indra/newview/llviewerinput.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/indra/newview/llviewerinput.cpp b/indra/newview/llviewerinput.cpp index 976d7d9c6b..bb8617735f 100644 --- a/indra/newview/llviewerinput.cpp +++ b/indra/newview/llviewerinput.cpp @@ -800,13 +800,20 @@ bool toggle_enable_media(EKeystate s) bool walk_to(EKeystate s) { - if (KEYSTATE_DOWN != s) return true; + if (KEYSTATE_DOWN != s) + { + // teleport/walk is usually on mouseclick, mouseclick needs + // to let AGENT_CONTROL_LBUTTON_UP happen if teleport didn't, + // so return false, but if it causes issues, do some kind of + // "return !has_teleported" + return false; + } return LLToolPie::getInstance()->walkToClickedLocation(); } bool teleport_to(EKeystate s) { - if (KEYSTATE_DOWN != s) return true; + if (KEYSTATE_DOWN != s) return false; return LLToolPie::getInstance()->teleportToClickedLocation(); } |