summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermessage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewermessage.cpp')
-rw-r--r--indra/newview/llviewermessage.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 7f349fe65b..f109ea417b 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -2732,9 +2732,9 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)
gViewerThrottle.sendToSim();
gViewerWindow->sendShapeToSim();
- bool is_teleport = false;
+ bool is_teleport = gAgent.getTeleportState() == LLAgent::TELEPORT_MOVING;
- if( gAgent.getTeleportState() == LLAgent::TELEPORT_MOVING )
+ if( is_teleport )
{
// Force the camera back onto the agent, don't animate. JC
gAgent.setFocusOnAvatar(TRUE, FALSE);
@@ -2749,15 +2749,20 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)
if (avatarp)
{
+ // Chat the "back" SLURL. (DEV-4907)
+ LLChat chat("Teleport completed from " + gAgent.getTeleportSourceSLURL());
+ chat.mSourceType = CHAT_SOURCE_SYSTEM;
+ LLFloaterChat::addChatHistory(chat);
+
+ // Set the new position
avatarp->setPositionAgent(agent_pos);
avatarp->clearChat();
avatarp->slamPosition();
}
-
- is_teleport = true;
}
else
{
+ // This is likely just the initial logging in phase.
gAgent.setTeleportState( LLAgent::TELEPORT_NONE );
}