* A further fix for mantis 3641 (oar saves do not complete)
* For some reason, if a null was recieved (indicating a missing asset), the code had stopped passing that on to the waiting lock, resulting in a perpetual freeze * This change passes the null on correctly * Many thanks to thomax for being insistent in presenting his analysis of the problem :)0.6.6-post-fixes
parent
c20f31beff
commit
fbd0f5491b
|
@ -177,8 +177,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
protected void AssetReceived(string id, Object sender, AssetBase asset)
|
protected void AssetReceived(string id, Object sender, AssetBase asset)
|
||||||
{
|
{
|
||||||
if (asset != null)
|
AssetRequestCallback(asset.FullID, asset);
|
||||||
AssetRequestCallback(asset.FullID, asset);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -243,17 +242,21 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
protected void GetWearableAssetUuids(UUID wearableAssetUuid, IDictionary<UUID, int> assetUuids)
|
protected void GetWearableAssetUuids(UUID wearableAssetUuid, IDictionary<UUID, int> assetUuids)
|
||||||
{
|
{
|
||||||
AssetBase assetBase = GetAsset(wearableAssetUuid);
|
AssetBase assetBase = GetAsset(wearableAssetUuid);
|
||||||
//m_log.Debug(new System.Text.ASCIIEncoding().GetString(bodypartAsset.Data));
|
|
||||||
AssetWearable wearableAsset = new AssetBodypart(wearableAssetUuid, assetBase.Data);
|
|
||||||
wearableAsset.Decode();
|
|
||||||
|
|
||||||
//m_log.DebugFormat(
|
if (null != assetBase)
|
||||||
// "[ARCHIVER]: Wearable asset {0} references {1} assets", wearableAssetUuid, wearableAsset.Textures.Count);
|
{
|
||||||
|
//m_log.Debug(new System.Text.ASCIIEncoding().GetString(bodypartAsset.Data));
|
||||||
foreach (UUID uuid in wearableAsset.Textures.Values)
|
AssetWearable wearableAsset = new AssetBodypart(wearableAssetUuid, assetBase.Data);
|
||||||
{
|
wearableAsset.Decode();
|
||||||
//m_log.DebugFormat("[ARCHIVER]: Got bodypart uuid {0}", uuid);
|
|
||||||
assetUuids[uuid] = 1;
|
//m_log.DebugFormat(
|
||||||
|
// "[ARCHIVER]: Wearable asset {0} references {1} assets", wearableAssetUuid, wearableAsset.Textures.Count);
|
||||||
|
|
||||||
|
foreach (UUID uuid in wearableAsset.Textures.Values)
|
||||||
|
{
|
||||||
|
//m_log.DebugFormat("[ARCHIVER]: Got bodypart uuid {0}", uuid);
|
||||||
|
assetUuids[uuid] = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue