Don't try and delete attachments for child agent close
parent
1084d8f6a2
commit
bd991fc95f
|
@ -220,6 +220,38 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests
|
||||||
Assert.That(m_presence.Appearance.GetAttachpoint(attItemId), Is.EqualTo(0));
|
Assert.That(m_presence.Appearance.GetAttachpoint(attItemId), Is.EqualTo(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Test that attachments don't hang about in the scene when the agent is closed
|
||||||
|
/// </summary>
|
||||||
|
[Test]
|
||||||
|
public void TestRemoveAttachmentsOnAvatarExit()
|
||||||
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
// log4net.Config.XmlConfigurator.Configure();
|
||||||
|
|
||||||
|
UUID userId = TestHelpers.ParseTail(0x1);
|
||||||
|
UUID attItemId = TestHelpers.ParseTail(0x2);
|
||||||
|
UUID attAssetId = TestHelpers.ParseTail(0x3);
|
||||||
|
string attName = "att";
|
||||||
|
|
||||||
|
UserAccountHelpers.CreateUserWithInventory(scene, userId);
|
||||||
|
InventoryItemBase attItem
|
||||||
|
= UserInventoryHelpers.CreateInventoryItem(
|
||||||
|
scene, attName, attItemId, attAssetId, userId, InventoryType.Object);
|
||||||
|
|
||||||
|
AgentCircuitData acd = SceneHelpers.GenerateAgentData(userId);
|
||||||
|
acd.Appearance = new AvatarAppearance();
|
||||||
|
acd.Appearance.SetAttachment((int)AttachmentPoint.Chest, attItem.ID, attItem.AssetID);
|
||||||
|
ScenePresence presence = SceneHelpers.AddScenePresence(scene, acd);
|
||||||
|
|
||||||
|
SceneObjectGroup rezzedAtt = presence.GetAttachments()[0];
|
||||||
|
|
||||||
|
scene.IncomingCloseAgent(presence.UUID);
|
||||||
|
|
||||||
|
// Check that we can't retrieve this attachment from the scene.
|
||||||
|
Assert.That(scene.GetSceneObjectGroup(rezzedAtt.UUID), Is.Null);
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TestRezAttachmentsOnAvatarEntrance()
|
public void TestRezAttachmentsOnAvatarEntrance()
|
||||||
{
|
{
|
||||||
|
|
|
@ -3404,7 +3404,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
{
|
{
|
||||||
m_scene.AttachmentsModule.DeleteAttachmentsFromScene(this, false);
|
if (!IsChildAgent)
|
||||||
|
m_scene.AttachmentsModule.DeleteAttachmentsFromScene(this, false);
|
||||||
|
|
||||||
lock (m_knownChildRegions)
|
lock (m_knownChildRegions)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue