From 40b085dfece81e155f336f39cb1d5bd7e3154991 Mon Sep 17 00:00:00 2001
From: Rider Linden <rider@lindenlab.com>
Date: Fri, 20 Nov 2015 10:24:16 -0800
Subject: [PATCH] MAINT-5831: If there is a teleport request active and it has
 failed, teleport state will always return "None".

---
 indra/newview/llagent.cpp | 7 +++++++
 indra/newview/llagent.h   | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 7f238a9a3b0..157eb7d662d 100755
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -4084,6 +4084,13 @@ void LLAgent::doTeleportViaLocationLookAt(const LLVector3d& pos_global)
 	teleportRequest(region_handle, pos_local, getTeleportKeepsLookAt());
 }
 
+LLAgent::ETeleportState	LLAgent::getTeleportState() const
+{
+    return (mTeleportRequest && (mTeleportRequest->getStatus() == LLTeleportRequest::kFailed)) ? 
+        TELEPORT_NONE : mTeleportState;
+}
+
+
 void LLAgent::setTeleportState(ETeleportState state)
 {
     if (mTeleportRequest && (state != TELEPORT_NONE) && (mTeleportRequest->getStatus() == LLTeleportRequest::kFailed))
diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h
index d46973ddee7..af8bd50c5d9 100755
--- a/indra/newview/llagent.h
+++ b/indra/newview/llagent.h
@@ -676,7 +676,7 @@ class LLAgent : public LLOldEvents::LLObservable
 	// Teleport State
 	//--------------------------------------------------------------------
 public:
-	ETeleportState	getTeleportState() const 						{ return mTeleportState; }
+    ETeleportState	getTeleportState() const;
 	void			setTeleportState(ETeleportState state);
 private:
 	ETeleportState	mTeleportState;
-- 
GitLab