summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerinput.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-08-11 21:29:59 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2021-08-11 21:37:32 +0300
commit6d05c44d712991815e991ba2c61ddc7370b66ead (patch)
tree8cab8451ef88d74ff6b075734f576e6b1f6b91ba /indra/newview/llviewerinput.cpp
parent10ba971b586ff2d12f58a1ad7d5eed8264584398 (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.cpp11
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();
}