When inspecting a script or notecard, also try to look up any assets embedded therein.
This is primarily to fix an issue where inventory items for NPC attachments would not be saved in archives as the assets referenced in the appearance notecard were not checked in this manner. Relates to http://opensimulator.org/mantis/view.php?id=7376sedebug
parent
08606ae409
commit
801a86ca03
|
@ -88,11 +88,12 @@ namespace OpenSim.Region.Framework.Scenes.Tests
|
||||||
public void TestNotecardAsset()
|
public void TestNotecardAsset()
|
||||||
{
|
{
|
||||||
TestHelpers.InMethod();
|
TestHelpers.InMethod();
|
||||||
TestHelpers.EnableLogging();
|
// TestHelpers.EnableLogging();
|
||||||
|
|
||||||
UUID ownerId = TestHelpers.ParseTail(0x10);
|
UUID ownerId = TestHelpers.ParseTail(0x10);
|
||||||
UUID embeddedId = TestHelpers.ParseTail(0x20);
|
UUID embeddedId = TestHelpers.ParseTail(0x20);
|
||||||
UUID missingEmbeddedId = TestHelpers.ParseTail(0x21);
|
UUID secondLevelEmbeddedId = TestHelpers.ParseTail(0x21);
|
||||||
|
UUID missingEmbeddedId = TestHelpers.ParseTail(0x22);
|
||||||
UUID ncAssetId = TestHelpers.ParseTail(0x30);
|
UUID ncAssetId = TestHelpers.ParseTail(0x30);
|
||||||
|
|
||||||
AssetBase ncAsset
|
AssetBase ncAsset
|
||||||
|
@ -100,9 +101,14 @@ namespace OpenSim.Region.Framework.Scenes.Tests
|
||||||
ncAssetId, string.Format("Hello{0}World{1}", embeddedId, missingEmbeddedId));
|
ncAssetId, string.Format("Hello{0}World{1}", embeddedId, missingEmbeddedId));
|
||||||
m_assetService.Store(ncAsset);
|
m_assetService.Store(ncAsset);
|
||||||
|
|
||||||
AssetBase embeddedAsset = AssetHelpers.CreateNotecardAsset(embeddedId, "We'll meet again.");
|
AssetBase embeddedAsset
|
||||||
|
= AssetHelpers.CreateNotecardAsset(embeddedId, string.Format("{0} We'll meet again.", secondLevelEmbeddedId));
|
||||||
m_assetService.Store(embeddedAsset);
|
m_assetService.Store(embeddedAsset);
|
||||||
|
|
||||||
|
AssetBase secondLevelEmbeddedAsset
|
||||||
|
= AssetHelpers.CreateNotecardAsset(secondLevelEmbeddedId, "Don't know where, don't know when.");
|
||||||
|
m_assetService.Store(secondLevelEmbeddedAsset);
|
||||||
|
|
||||||
m_uuidGatherer.AddForInspection(ncAssetId);
|
m_uuidGatherer.AddForInspection(ncAssetId);
|
||||||
m_uuidGatherer.GatherAll();
|
m_uuidGatherer.GatherAll();
|
||||||
|
|
||||||
|
@ -112,7 +118,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
|
||||||
Assert.That(m_uuidGatherer.GatheredUuids.Count, Is.EqualTo(3));
|
Assert.That(m_uuidGatherer.GatheredUuids.Count, Is.EqualTo(3));
|
||||||
Assert.That(m_uuidGatherer.GatheredUuids.ContainsKey(ncAssetId));
|
Assert.That(m_uuidGatherer.GatheredUuids.ContainsKey(ncAssetId));
|
||||||
Assert.That(m_uuidGatherer.GatheredUuids.ContainsKey(embeddedId));
|
Assert.That(m_uuidGatherer.GatheredUuids.ContainsKey(embeddedId));
|
||||||
Assert.That(m_uuidGatherer.GatheredUuids.ContainsKey(missingEmbeddedId));
|
Assert.That(m_uuidGatherer.GatheredUuids.ContainsKey(secondLevelEmbeddedId));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -451,7 +451,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
UUID uuid = new UUID(uuidMatch.Value);
|
UUID uuid = new UUID(uuidMatch.Value);
|
||||||
// m_log.DebugFormat("[UUID GATHERER]: Recording {0} in text", uuid);
|
// m_log.DebugFormat("[UUID GATHERER]: Recording {0} in text", uuid);
|
||||||
|
|
||||||
GatheredUuids[uuid] = (sbyte)AssetType.Unknown;
|
AddForInspection(uuid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue