From c298ae9e75f00f2009c87de30b295af20dcb86a2 Mon Sep 17 00:00:00 2001
From: UbitUmarov
Date: Tue, 4 Sep 2012 10:51:43 +0100
Subject:  bug fix

---
 .../ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs     | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
index fb41d23..7dcf137 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
@@ -151,9 +151,11 @@ namespace OpenSim.Region.ClientStack.Linden
             ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint,
             uint locationID, uint flags, string capsURL, UUID agentID)
         {
-            ulong tpflags = 1L << 4; // AgentManager.TeleportFlags.ViaLocation
-            if((flags & (uint)TeleportFlags.IsFlying) != 0)
-                tpflags |= 1 << 13; // IsFLying;
+            // not sure why flags get overwritten here
+            if ((flags & (uint)TeleportFlags.IsFlying) != 0)
+                flags = (uint)TeleportFlags.ViaLocation | (uint)TeleportFlags.IsFlying;
+            else
+                flags = (uint)TeleportFlags.ViaLocation;
 
             OSDMap info = new OSDMap();
             info.Add("AgentID", OSD.FromUUID(agentID));
@@ -164,7 +166,7 @@ namespace OpenSim.Region.ClientStack.Linden
             info.Add("SimIP", OSD.FromBinary(regionExternalEndPoint.Address.GetAddressBytes()));
             info.Add("SimPort", OSD.FromInteger(regionExternalEndPoint.Port));
 //            info.Add("TeleportFlags", OSD.FromULong(1L << 4)); // AgentManager.TeleportFlags.ViaLocation
-            info.Add("TeleportFlags", OSD.FromULong(tpflags));
+            info.Add("TeleportFlags", OSD.FromUInteger(flags));
 
             OSDArray infoArr = new OSDArray();
             infoArr.Add(info);
-- 
cgit v1.1