aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorSean McNamara2011-04-26 11:45:38 -0400
committerSean McNamara2011-04-26 11:45:38 -0400
commit587aa91e36216e75f9b293b57c5b974d31e5ec54 (patch)
treea1c2a4e78cb6414cdebb93c46552dce5bc8e7ea0 /OpenSim/Region
parentWait for OnOarFileSaved event callback before executing script (diff)
parentRemoved stale client components: MXP and VWoHTTP. (diff)
downloadopensim-SC_OLD-587aa91e36216e75f9b293b57c5b974d31e5ec54.zip
opensim-SC_OLD-587aa91e36216e75f9b293b57c5b974d31e5ec54.tar.gz
opensim-SC_OLD-587aa91e36216e75f9b293b57c5b974d31e5ec54.tar.bz2
opensim-SC_OLD-587aa91e36216e75f9b293b57c5b974d31e5ec54.tar.xz
Merge git://opensimulator.org/git/opensim
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs10
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs9
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs34
3 files changed, 41 insertions, 12 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 1f7e66d..0f7f666 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -4764,7 +4764,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4764 data.RelativePosition.ToBytes(objectData, 0); 4764 data.RelativePosition.ToBytes(objectData, 0);
4765 data.Velocity.ToBytes(objectData, 12); 4765 data.Velocity.ToBytes(objectData, 12);
4766 data.Acceleration.ToBytes(objectData, 24); 4766 data.Acceleration.ToBytes(objectData, 24);
4767 data.RotationOffset.ToBytes(objectData, 36); 4767 try
4768 {
4769 data.RotationOffset.ToBytes(objectData, 36);
4770 }
4771 catch (Exception e)
4772 {
4773 m_log.Warn("[LLClientView]: exception converting quaternion to bytes, using Quaternion.Identity. Exception: " + e.ToString());
4774 OpenMetaverse.Quaternion.Identity.ToBytes(objectData, 36);
4775 }
4768 data.AngularVelocity.ToBytes(objectData, 48); 4776 data.AngularVelocity.ToBytes(objectData, 48);
4769 4777
4770 ObjectUpdatePacket.ObjectDataBlock update = new ObjectUpdatePacket.ObjectDataBlock(); 4778 ObjectUpdatePacket.ObjectDataBlock update = new ObjectUpdatePacket.ObjectDataBlock();
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
index c7244c8..6dd871f 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
@@ -182,9 +182,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
182 public InventoryCollection GetFolderContent(UUID userID, UUID folderID) 182 public InventoryCollection GetFolderContent(UUID userID, UUID folderID)
183 { 183 {
184 InventoryCollection invCol = m_InventoryService.GetFolderContent(userID, folderID); 184 InventoryCollection invCol = m_InventoryService.GetFolderContent(userID, folderID);
185 if (UserManager != null) 185 Util.FireAndForget(delegate
186 foreach (InventoryItemBase item in invCol.Items) 186 {
187 UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData); 187 if (UserManager != null)
188 foreach (InventoryItemBase item in invCol.Items)
189 UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData);
190 });
188 191
189 return invCol; 192 return invCol;
190 } 193 }
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs
index bd01bb9..8f1f257 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/RemoteXInventoryServiceConnector.cs
@@ -46,10 +46,22 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
46 LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 46 LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
47 47
48 private bool m_Enabled = false; 48 private bool m_Enabled = false;
49 private bool m_Initialized = false; 49 private Scene m_Scene;
50// private Scene m_Scene;
51 private XInventoryServicesConnector m_RemoteConnector; 50 private XInventoryServicesConnector m_RemoteConnector;
52 51
52 private IUserManagement m_UserManager;
53 private IUserManagement UserManager
54 {
55 get
56 {
57 if (m_UserManager == null)
58 {
59 m_UserManager = m_Scene.RequestModuleInterface<IUserManagement>();
60 }
61 return m_UserManager;
62 }
63 }
64
53 public Type ReplaceableInterface 65 public Type ReplaceableInterface
54 { 66 {
55 get { return null; } 67 get { return null; }
@@ -114,12 +126,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
114 if (!m_Enabled) 126 if (!m_Enabled)
115 return; 127 return;
116 128
117 if (!m_Initialized)
118 {
119 m_Initialized = true;
120 }
121
122 scene.RegisterModuleInterface<IInventoryService>(this); 129 scene.RegisterModuleInterface<IInventoryService>(this);
130
131 if (m_Scene == null)
132 m_Scene = scene;
123 } 133 }
124 134
125 public void RemoveRegion(Scene scene) 135 public void RemoveRegion(Scene scene)
@@ -173,7 +183,15 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
173 183
174 public InventoryCollection GetFolderContent(UUID userID, UUID folderID) 184 public InventoryCollection GetFolderContent(UUID userID, UUID folderID)
175 { 185 {
176 return m_RemoteConnector.GetFolderContent(userID, folderID); 186 InventoryCollection invCol = m_RemoteConnector.GetFolderContent(userID, folderID);
187 Util.FireAndForget(delegate
188 {
189 if (UserManager != null)
190 foreach (InventoryItemBase item in invCol.Items)
191 UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData);
192 });
193
194 return invCol;
177 } 195 }
178 196
179 public List<InventoryItemBase> GetFolderItems(UUID userID, UUID folderID) 197 public List<InventoryItemBase> GetFolderItems(UUID userID, UUID folderID)