From 40ed5433bd36dce931aa53aa09deb53421fd02bd Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Mon, 4 Mar 2013 23:20:00 +0000
Subject: Fix issue in the mesh upload flag module where the ID of the last
 agent to request the capability was always used instead of the original
 requesting agent for each cap.

Should address http://opensimulator.org/mantis/view.php?id=6556
---
 .../Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs   | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

(limited to 'OpenSim')

diff --git a/OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs
index 33b1f77..45d33cd 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/MeshUploadFlagModule.cs
@@ -57,7 +57,6 @@ namespace OpenSim.Region.ClientStack.Linden
         public bool Enabled { get; private set; }
 
         private Scene m_scene;
-        private UUID m_agentID;
 
         #region ISharedRegionModule Members
 
@@ -118,25 +117,26 @@ namespace OpenSim.Region.ClientStack.Linden
         public void RegisterCaps(UUID agentID, Caps caps)
         {
             IRequestHandler reqHandler
-                = new RestHTTPHandler("GET", "/CAPS/" + UUID.Random(), MeshUploadFlag, "MeshUploadFlag", agentID.ToString());
+                = new RestHTTPHandler(
+                    "GET", "/CAPS/" + UUID.Random(), ht => MeshUploadFlag(ht, agentID), "MeshUploadFlag", agentID.ToString());
 
             caps.RegisterHandler("MeshUploadFlag", reqHandler);
-	        m_agentID = agentID;
+
         }
 
-        private Hashtable MeshUploadFlag(Hashtable mDhttpMethod)
+        private Hashtable MeshUploadFlag(Hashtable mDhttpMethod, UUID agentID)
         {
 //            m_log.DebugFormat("[MESH UPLOAD FLAG MODULE]: MeshUploadFlag request");
 
             OSDMap data = new OSDMap();
-    	    ScenePresence sp = m_scene.GetScenePresence(m_agentID);
+    	    ScenePresence sp = m_scene.GetScenePresence(agentID);
     	    data["username"] = sp.Firstname + "." + sp.Lastname;
     	    data["display_name_next_update"] = new OSDDate(DateTime.Now);
     	    data["legacy_first_name"] = sp.Firstname;
     	    data["mesh_upload_status"] = "valid";
     	    data["display_name"] = sp.Firstname + " " + sp.Lastname;
     	    data["legacy_last_name"] = sp.Lastname;
-    	    data["id"] = m_agentID;
+    	    data["id"] = agentID;
     	    data["is_display_name_default"] = true;
 
             //Send back data
-- 
cgit v1.1