diff options
author | Sean McNamara | 2011-04-26 11:45:38 -0400 |
---|---|---|
committer | Sean McNamara | 2011-04-26 11:45:38 -0400 |
commit | 587aa91e36216e75f9b293b57c5b974d31e5ec54 (patch) | |
tree | a1c2a4e78cb6414cdebb93c46552dce5bc8e7ea0 /OpenSim/Region | |
parent | Wait for OnOarFileSaved event callback before executing script (diff) | |
parent | Removed stale client components: MXP and VWoHTTP. (diff) | |
download | opensim-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')
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) |