aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authordiva2009-04-05 22:39:19 +0000
committerdiva2009-04-05 22:39:19 +0000
commit5b103aab896eef4ca8d538d12728fdc1929e34d1 (patch)
treea510fdbd101d377c40403bc44b085598e0ae71dd /OpenSim/Region/Framework
parentunspecified sculpt stitching mode now defaults to plane instead of sphere. Ad... (diff)
downloadopensim-SC-5b103aab896eef4ca8d538d12728fdc1929e34d1.zip
opensim-SC-5b103aab896eef4ca8d538d12728fdc1929e34d1.tar.gz
opensim-SC-5b103aab896eef4ca8d538d12728fdc1929e34d1.tar.bz2
opensim-SC-5b103aab896eef4ca8d538d12728fdc1929e34d1.tar.xz
Changed the asynchronous call to get inventory in HG, so that it properly reports problems. OGS1 should also be changed, but I'm leaving it as is for now. RestSessionObjectPosterResponse is fairly broken and should not be used.
Minor changes in Get inventory item in HGAssetMapper.
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Interfaces/IInterregionComms.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/Hypergrid/HGAssetMapper.cs35
2 files changed, 19 insertions, 22 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IInterregionComms.cs b/OpenSim/Region/Framework/Interfaces/IInterregionComms.cs
index b57b5ed..b5a9395 100644
--- a/OpenSim/Region/Framework/Interfaces/IInterregionComms.cs
+++ b/OpenSim/Region/Framework/Interfaces/IInterregionComms.cs
@@ -91,11 +91,11 @@ namespace OpenSim.Region.Framework.Interfaces
91 91
92 /// <summary> 92 /// <summary>
93 /// Create an object from the user's inventory in the destination region. 93 /// Create an object from the user's inventory in the destination region.
94 /// This message is used primarily for prim crossing. 94 /// This message is used primarily by clients.
95 /// </summary> 95 /// </summary>
96 /// <param name="regionHandle"></param> 96 /// <param name="regionHandle"></param>
97 /// <param name="sog"></param> 97 /// <param name="userID"></param>
98 /// <param name="isLocalCall"></param> 98 /// <param name="itemID"></param>
99 /// <returns></returns> 99 /// <returns></returns>
100 bool SendCreateObject(ulong regionHandle, UUID userID, UUID itemID); 100 bool SendCreateObject(ulong regionHandle, UUID userID, UUID itemID);
101 101
diff --git a/OpenSim/Region/Framework/Scenes/Hypergrid/HGAssetMapper.cs b/OpenSim/Region/Framework/Scenes/Hypergrid/HGAssetMapper.cs
index b192101..48ea519 100644
--- a/OpenSim/Region/Framework/Scenes/Hypergrid/HGAssetMapper.cs
+++ b/OpenSim/Region/Framework/Scenes/Hypergrid/HGAssetMapper.cs
@@ -333,29 +333,26 @@ namespace OpenSim.Region.Framework.Scenes.Hypergrid
333 333
334 public InventoryItemBase Get(InventoryItemBase item, UUID rootFolder, CachedUserInfo userInfo) 334 public InventoryItemBase Get(InventoryItemBase item, UUID rootFolder, CachedUserInfo userInfo)
335 { 335 {
336 if (!IsLocalUser(item.Owner)) 336 InventoryClient invCli = null;
337 string inventoryURL = UserInventoryURL(item.Owner);
338 if (!m_inventoryServers.TryGetValue(inventoryURL, out invCli))
337 { 339 {
338 InventoryClient invCli = null; 340 m_log.Debug("[HGScene]: Starting new InventorytClient for " + inventoryURL);
339 string inventoryURL = UserInventoryURL(item.Owner); 341 invCli = new InventoryClient(inventoryURL);
340 if (!m_inventoryServers.TryGetValue(inventoryURL, out invCli)) 342 m_inventoryServers.Add(inventoryURL, invCli);
341 { 343 }
342 m_log.Debug("[HGScene]: Starting new InventorytClient for " + inventoryURL);
343 invCli = new InventoryClient(inventoryURL);
344 m_inventoryServers.Add(inventoryURL, invCli);
345 }
346 344
347 item = invCli.GetInventoryItem(item); 345 item = invCli.GetInventoryItem(item);
348 if (item != null) 346 if (item != null)
347 {
348 // Change the folder, stick it in root folder, all items flattened out here in this region cache
349 item.Folder = rootFolder;
350 //userInfo.AddItem(item); don't use this, it calls back to the inventory server
351 lock (userInfo.RootFolder.Items)
349 { 352 {
350 // Change the folder, stick it in root folder, all items flattened out here in this region cache 353 userInfo.RootFolder.Items[item.ID] = item;
351 item.Folder = rootFolder;
352 //userInfo.AddItem(item); don't use this, it calls back to the inventory server
353 lock (userInfo.RootFolder.Items)
354 {
355 userInfo.RootFolder.Items[item.ID] = item;
356 }
357
358 } 354 }
355
359 } 356 }
360 return item; 357 return item;
361 } 358 }