diff options
author | diva | 2009-04-05 22:39:19 +0000 |
---|---|---|
committer | diva | 2009-04-05 22:39:19 +0000 |
commit | 5b103aab896eef4ca8d538d12728fdc1929e34d1 (patch) | |
tree | a510fdbd101d377c40403bc44b085598e0ae71dd /OpenSim/Region/Framework | |
parent | unspecified sculpt stitching mode now defaults to plane instead of sphere. Ad... (diff) | |
download | opensim-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.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Hypergrid/HGAssetMapper.cs | 35 |
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 | } |