diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 5 |
3 files changed, 7 insertions, 6 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 0cb5682..c44c4c7 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -2402,11 +2402,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
2402 | InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); | 2402 | InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); |
2403 | item = InventoryService.GetItem(item); | 2403 | item = InventoryService.GetItem(item); |
2404 | presence.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID /*att.UUID*/); | 2404 | presence.Appearance.SetAttachment((int)AttachmentPt, itemID, item.AssetID /*att.UUID*/); |
2405 | IAvatarFactory ava = RequestModuleInterface<IAvatarFactory>(); | 2405 | |
2406 | if (ava != null) | 2406 | if (m_AvatarFactory != null) |
2407 | { | 2407 | { |
2408 | m_log.InfoFormat("[SCENE INVENTORY]: Saving avatar attachment. AgentID:{0} ItemID:{1} AttachmentPoint:{2}", remoteClient.AgentId, itemID, AttachmentPt); | 2408 | m_log.InfoFormat("[SCENE INVENTORY]: Saving avatar attachment. AgentID:{0} ItemID:{1} AttachmentPoint:{2}", remoteClient.AgentId, itemID, AttachmentPt); |
2409 | ava.UpdateDatabase(remoteClient.AgentId, presence.Appearance); | 2409 | m_AvatarFactory.UpdateDatabase(remoteClient.AgentId, presence.Appearance); |
2410 | } | 2410 | } |
2411 | } | 2411 | } |
2412 | } | 2412 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 14e4534..d3d397d 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -2481,7 +2481,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2481 | if (aCircuit == null || aCircuit.child == false) | 2481 | if (aCircuit == null || aCircuit.child == false) |
2482 | { | 2482 | { |
2483 | sp.IsChildAgent = false; | 2483 | sp.IsChildAgent = false; |
2484 | sp.RezAttachments(); | 2484 | Util.FireAndForget(delegate(object o) { sp.RezAttachments(); }); |
2485 | } | 2485 | } |
2486 | } | 2486 | } |
2487 | 2487 | ||
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 15fb11f..2a06f9e 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -3841,6 +3841,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
3841 | List<int> attPoints = m_appearance.GetAttachedPoints(); | 3841 | List<int> attPoints = m_appearance.GetAttachedPoints(); |
3842 | foreach (int p in attPoints) | 3842 | foreach (int p in attPoints) |
3843 | { | 3843 | { |
3844 | if (m_isDeleted) | ||
3845 | return; | ||
3846 | |||
3844 | UUID itemID = m_appearance.GetAttachedItem(p); | 3847 | UUID itemID = m_appearance.GetAttachedItem(p); |
3845 | UUID assetID = m_appearance.GetAttachedAsset(p); | 3848 | UUID assetID = m_appearance.GetAttachedAsset(p); |
3846 | 3849 | ||
@@ -3866,9 +3869,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3866 | { | 3869 | { |
3867 | m_log.ErrorFormat("[ATTACHMENT]: Unable to rez attachment: {0}", e.ToString()); | 3870 | m_log.ErrorFormat("[ATTACHMENT]: Unable to rez attachment: {0}", e.ToString()); |
3868 | } | 3871 | } |
3869 | |||
3870 | } | 3872 | } |
3871 | |||
3872 | } | 3873 | } |
3873 | } | 3874 | } |
3874 | } | 3875 | } |