aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.Inventory.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs42
1 files changed, 20 insertions, 22 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 3044017..62a831e 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -35,7 +35,7 @@ using OpenMetaverse;
35using OpenMetaverse.Packets; 35using OpenMetaverse.Packets;
36using log4net; 36using log4net;
37using OpenSim.Framework; 37using OpenSim.Framework;
38using OpenSim.Framework.Communications.Cache; 38
39using OpenSim.Region.Framework; 39using OpenSim.Region.Framework;
40using OpenSim.Region.Framework.Interfaces; 40using OpenSim.Region.Framework.Interfaces;
41using OpenSim.Region.Framework.Scenes.Serialization; 41using OpenSim.Region.Framework.Scenes.Serialization;
@@ -101,12 +101,6 @@ namespace OpenSim.Region.Framework.Scenes
101 { 101 {
102 userlevel = 1; 102 userlevel = 1;
103 } 103 }
104 // TODO: remove this cruft once MasterAvatar is fully deprecated
105 //
106 if (m_regInfo.MasterAvatarAssignedUUID == AgentID)
107 {
108 userlevel = 2;
109 }
110 EventManager.TriggerOnNewInventoryItemUploadComplete(AgentID, item.AssetID, item.Name, userlevel); 104 EventManager.TriggerOnNewInventoryItemUploadComplete(AgentID, item.AssetID, item.Name, userlevel);
111 } 105 }
112 else 106 else
@@ -573,7 +567,9 @@ namespace OpenSim.Region.Framework.Scenes
573 "[AGENT INVENTORY]: CopyInventoryItem received by {0} with oldAgentID {1}, oldItemID {2}, new FolderID {3}, newName {4}", 567 "[AGENT INVENTORY]: CopyInventoryItem received by {0} with oldAgentID {1}, oldItemID {2}, new FolderID {3}, newName {4}",
574 remoteClient.AgentId, oldAgentID, oldItemID, newFolderID, newName); 568 remoteClient.AgentId, oldAgentID, oldItemID, newFolderID, newName);
575 569
576 InventoryItemBase item = CommsManager.UserProfileCacheService.LibraryRoot.FindItem(oldItemID); 570 InventoryItemBase item = null;
571 if (LibraryService != null && LibraryService.LibraryRootFolder != null)
572 item = LibraryService.LibraryRootFolder.FindItem(oldItemID);
577 573
578 if (item == null) 574 if (item == null)
579 { 575 {
@@ -742,13 +738,9 @@ namespace OpenSim.Region.Framework.Scenes
742 738
743 if (transactionID == UUID.Zero) 739 if (transactionID == UUID.Zero)
744 { 740 {
745 CachedUserInfo userInfo 741 ScenePresence presence;
746 = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId); 742 if (TryGetAvatar(remoteClient.AgentId, out presence))
747
748 if (userInfo != null)
749 { 743 {
750 ScenePresence presence;
751 TryGetAvatar(remoteClient.AgentId, out presence);
752 byte[] data = null; 744 byte[] data = null;
753 745
754 if (invType == (sbyte)InventoryType.Landmark && presence != null) 746 if (invType == (sbyte)InventoryType.Landmark && presence != null)
@@ -770,7 +762,7 @@ namespace OpenSim.Region.Framework.Scenes
770 else 762 else
771 { 763 {
772 m_log.ErrorFormat( 764 m_log.ErrorFormat(
773 "userInfo for agent uuid {0} unexpectedly null in CreateNewInventoryItem", 765 "ScenePresence for agent uuid {0} unexpectedly not found in CreateNewInventoryItem",
774 remoteClient.AgentId); 766 remoteClient.AgentId);
775 } 767 }
776 } 768 }
@@ -1161,15 +1153,21 @@ namespace OpenSim.Region.Framework.Scenes
1161 1153
1162 private void SendInventoryUpdate(IClientAPI client, InventoryFolderBase folder, bool fetchFolders, bool fetchItems) 1154 private void SendInventoryUpdate(IClientAPI client, InventoryFolderBase folder, bool fetchFolders, bool fetchItems)
1163 { 1155 {
1156 if (folder == null)
1157 return;
1158
1164 m_log.DebugFormat("[AGENT INVENTORY]: Send Inventory Folder {0} Update to {1} {2}", folder.Name, client.FirstName, client.LastName); 1159 m_log.DebugFormat("[AGENT INVENTORY]: Send Inventory Folder {0} Update to {1} {2}", folder.Name, client.FirstName, client.LastName);
1165 InventoryCollection contents = InventoryService.GetFolderContent(client.AgentId, folder.ID); 1160 InventoryCollection contents = InventoryService.GetFolderContent(client.AgentId, folder.ID);
1166 InventoryFolderBase containingFolder = new InventoryFolderBase(); 1161 InventoryFolderBase containingFolder = new InventoryFolderBase();
1167 containingFolder.ID = folder.ID; 1162 containingFolder.ID = folder.ID;
1168 containingFolder.Owner = client.AgentId; 1163 containingFolder.Owner = client.AgentId;
1169 containingFolder = InventoryService.GetFolder(containingFolder); 1164 containingFolder = InventoryService.GetFolder(containingFolder);
1170 int version = containingFolder.Version; 1165 if (containingFolder != null)
1166 {
1167 int version = containingFolder.Version;
1171 1168
1172 client.SendInventoryFolderDetails(client.AgentId, folder.ID, contents.Items, contents.Folders, version, fetchFolders, fetchItems); 1169 client.SendInventoryFolderDetails(client.AgentId, folder.ID, contents.Items, contents.Folders, version, fetchFolders, fetchItems);
1170 }
1173 } 1171 }
1174 1172
1175 /// <summary> 1173 /// <summary>
@@ -1211,9 +1209,9 @@ namespace OpenSim.Region.Framework.Scenes
1211 item = InventoryService.GetItem(item); 1209 item = InventoryService.GetItem(item);
1212 1210
1213 // Try library 1211 // Try library
1214 if (null == item) 1212 if (null == item && LibraryService != null && LibraryService.LibraryRootFolder != null)
1215 { 1213 {
1216 item = CommsManager.UserProfileCacheService.LibraryRoot.FindItem(itemID); 1214 item = LibraryService.LibraryRootFolder.FindItem(itemID);
1217 } 1215 }
1218 1216
1219 if (item != null) 1217 if (item != null)
@@ -1280,9 +1278,9 @@ namespace OpenSim.Region.Framework.Scenes
1280 1278
1281 // Try library 1279 // Try library
1282 // XXX clumsy, possibly should be one call 1280 // XXX clumsy, possibly should be one call
1283 if (null == item) 1281 if (null == item && LibraryService != null && LibraryService.LibraryRootFolder != null)
1284 { 1282 {
1285 item = CommsManager.UserProfileCacheService.LibraryRoot.FindItem(itemID); 1283 item = LibraryService.LibraryRootFolder.FindItem(itemID);
1286 } 1284 }
1287 1285
1288 if (item != null) 1286 if (item != null)
@@ -2405,7 +2403,7 @@ namespace OpenSim.Region.Framework.Scenes
2405 // XXYY!! 2403 // XXYY!!
2406 InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); 2404 InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId);
2407 item = InventoryService.GetItem(item); 2405 item = InventoryService.GetItem(item);
2408 presence.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID /*att.UUID*/); 2406 presence.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID /* att.UUID */);
2409 2407
2410 if (m_AvatarFactory != null) 2408 if (m_AvatarFactory != null)
2411 { 2409 {