diff options
author | Justin Clark-Casey (justincc) | 2010-02-12 21:32:03 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2010-02-12 21:32:03 +0000 |
commit | 802a969267da9ed2780ea66c736c3d531e336dfa (patch) | |
tree | 85b088d4e9b4cf3dbb800845a27cf8f42e6e4094 /OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory | |
parent | Add missing refernce to prebuild (backport from presence-refactor) (diff) | |
download | opensim-SC_OLD-802a969267da9ed2780ea66c736c3d531e336dfa.zip opensim-SC_OLD-802a969267da9ed2780ea66c736c3d531e336dfa.tar.gz opensim-SC_OLD-802a969267da9ed2780ea66c736c3d531e336dfa.tar.bz2 opensim-SC_OLD-802a969267da9ed2780ea66c736c3d531e336dfa.tar.xz |
Fix http://opensimulator.org/mantis/view.php?id=4224
This resolves the problem where eyes and hair would turn white on standalone configurations
When a client receives body part information, for some insane reason or other it always ends up uploading this back to the server and then immediately re-requesting it.
This should have been okay since we stored that asset in cache. However, the standalone asset service connector was not checking this cache properly, so every time the client made the request for the asset it has just loaded it would get a big fat null back in the face, causing it to make clothes and hair white.
This bug did not affect grids since they use a different service connector.
Diffstat (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory')
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs index 66d11dd..3883dc6 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs | |||
@@ -73,7 +73,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
73 | IConfig inventoryConfig = source.Configs["InventoryService"]; | 73 | IConfig inventoryConfig = source.Configs["InventoryService"]; |
74 | if (inventoryConfig == null) | 74 | if (inventoryConfig == null) |
75 | { | 75 | { |
76 | m_log.Error("[INVENTORY CONNECTOR]: InventoryService missing from OpenSim.ini"); | 76 | m_log.Error("[LOCAL INVENTORY SERVICES CONNECTOR]: InventoryService missing from OpenSim.ini"); |
77 | return; | 77 | return; |
78 | } | 78 | } |
79 | 79 | ||
@@ -81,18 +81,18 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
81 | 81 | ||
82 | if (serviceDll == String.Empty) | 82 | if (serviceDll == String.Empty) |
83 | { | 83 | { |
84 | m_log.Error("[INVENTORY CONNECTOR]: No LocalServiceModule named in section InventoryService"); | 84 | m_log.Error("[LOCAL INVENTORY SERVICES CONNECTOR]: No LocalServiceModule named in section InventoryService"); |
85 | return; | 85 | return; |
86 | } | 86 | } |
87 | 87 | ||
88 | Object[] args = new Object[] { source }; | 88 | Object[] args = new Object[] { source }; |
89 | m_log.DebugFormat("[INVENTORY CONNECTOR]: Service dll = {0}", serviceDll); | 89 | m_log.DebugFormat("[LOCAL INVENTORY SERVICES CONNECTOR]: Service dll = {0}", serviceDll); |
90 | 90 | ||
91 | m_InventoryService = ServerUtils.LoadPlugin<IInventoryService>(serviceDll, args); | 91 | m_InventoryService = ServerUtils.LoadPlugin<IInventoryService>(serviceDll, args); |
92 | 92 | ||
93 | if (m_InventoryService == null) | 93 | if (m_InventoryService == null) |
94 | { | 94 | { |
95 | m_log.Error("[INVENTORY CONNECTOR]: Can't load inventory service"); | 95 | m_log.Error("[LOCAL INVENTORY SERVICES CONNECTOR]: Can't load inventory service"); |
96 | //return; | 96 | //return; |
97 | throw new Exception("Unable to proceed. Please make sure your ini files in config-include are updated according to .example's"); | 97 | throw new Exception("Unable to proceed. Please make sure your ini files in config-include are updated according to .example's"); |
98 | } | 98 | } |
@@ -111,7 +111,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
111 | Init(source); | 111 | Init(source); |
112 | 112 | ||
113 | m_Enabled = true; | 113 | m_Enabled = true; |
114 | m_log.Info("[INVENTORY CONNECTOR]: Local inventory connector enabled"); | 114 | m_log.Info("[LOCAL INVENTORY SERVICES CONNECTOR]: Local inventory connector enabled"); |
115 | } | 115 | } |
116 | } | 116 | } |
117 | } | 117 | } |
@@ -138,7 +138,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
138 | } | 138 | } |
139 | 139 | ||
140 | // m_log.DebugFormat( | 140 | // m_log.DebugFormat( |
141 | // "[INVENTORY CONNECTOR]: Registering IInventoryService to scene {0}", scene.RegionInfo.RegionName); | 141 | // "[LOCAL INVENTORY SERVICES CONNECTOR]: Registering IInventoryService to scene {0}", scene.RegionInfo.RegionName); |
142 | 142 | ||
143 | scene.RegisterModuleInterface<IInventoryService>(this); | 143 | scene.RegisterModuleInterface<IInventoryService>(this); |
144 | m_cache.AddRegion(scene); | 144 | m_cache.AddRegion(scene); |
@@ -158,7 +158,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
158 | return; | 158 | return; |
159 | 159 | ||
160 | m_log.InfoFormat( | 160 | m_log.InfoFormat( |
161 | "[INVENTORY CONNECTOR]: Enabled local invnetory for region {0}", scene.RegionInfo.RegionName); | 161 | "[LOCAL INVENTORY SERVICES CONNECTOR]: Enabled local inventory for region {0}", scene.RegionInfo.RegionName); |
162 | } | 162 | } |
163 | 163 | ||
164 | #region IInventoryService | 164 | #region IInventoryService |
@@ -213,7 +213,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
213 | return folders; | 213 | return folders; |
214 | } | 214 | } |
215 | } | 215 | } |
216 | m_log.WarnFormat("[INVENTORY CONNECTOR]: System folders for {0} not found", userID); | 216 | m_log.WarnFormat("[LOCAL INVENTORY SERVICES CONNECTOR]: System folders for {0} not found", userID); |
217 | return new Dictionary<AssetType, InventoryFolderBase>(); | 217 | return new Dictionary<AssetType, InventoryFolderBase>(); |
218 | } | 218 | } |
219 | 219 | ||
@@ -312,7 +312,14 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory | |||
312 | 312 | ||
313 | public override InventoryItemBase GetItem(InventoryItemBase item) | 313 | public override InventoryItemBase GetItem(InventoryItemBase item) |
314 | { | 314 | { |
315 | return m_InventoryService.GetItem(item); | 315 | // m_log.DebugFormat("[LOCAL INVENTORY SERVICES CONNECTOR]: Requesting inventory item {0}", item.ID); |
316 | |||
317 | item = m_InventoryService.GetItem(item); | ||
318 | |||
319 | if (null == item) | ||
320 | m_log.ErrorFormat("[LOCAL INVENTORY SERVICES CONNECTOR]: Could not find item with id {0}"); | ||
321 | |||
322 | return item; | ||
316 | } | 323 | } |
317 | 324 | ||
318 | public override InventoryFolderBase GetFolder(InventoryFolderBase folder) | 325 | public override InventoryFolderBase GetFolder(InventoryFolderBase folder) |