diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-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 | 12 |
3 files changed, 11 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 890126f..627034a 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 fba9ea8..4c7850f 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..646a483 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2507,8 +2507,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2507 | List<ScenePresence> avatars = m_scene.GetAvatars(); | 2507 | List<ScenePresence> avatars = m_scene.GetAvatars(); |
2508 | for (int i = 0; i < avatars.Count; i++) | 2508 | for (int i = 0; i < avatars.Count; i++) |
2509 | { | 2509 | { |
2510 | if (avatars[i] != this) | 2510 | // Requested by LibOMV. Send Course Location on self. |
2511 | { | 2511 | //if (avatars[i] != this) |
2512 | //{ | ||
2512 | if (avatars[i].ParentID != 0) | 2513 | if (avatars[i].ParentID != 0) |
2513 | { | 2514 | { |
2514 | // sitting avatar | 2515 | // sitting avatar |
@@ -2530,7 +2531,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2530 | CoarseLocations.Add(avatars[i].m_pos); | 2531 | CoarseLocations.Add(avatars[i].m_pos); |
2531 | AvatarUUIDs.Add(avatars[i].UUID); | 2532 | AvatarUUIDs.Add(avatars[i].UUID); |
2532 | } | 2533 | } |
2533 | } | 2534 | //} |
2534 | } | 2535 | } |
2535 | 2536 | ||
2536 | m_controllingClient.SendCoarseLocationUpdate(AvatarUUIDs, CoarseLocations); | 2537 | m_controllingClient.SendCoarseLocationUpdate(AvatarUUIDs, CoarseLocations); |
@@ -3841,6 +3842,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
3841 | List<int> attPoints = m_appearance.GetAttachedPoints(); | 3842 | List<int> attPoints = m_appearance.GetAttachedPoints(); |
3842 | foreach (int p in attPoints) | 3843 | foreach (int p in attPoints) |
3843 | { | 3844 | { |
3845 | if (m_isDeleted) | ||
3846 | return; | ||
3847 | |||
3844 | UUID itemID = m_appearance.GetAttachedItem(p); | 3848 | UUID itemID = m_appearance.GetAttachedItem(p); |
3845 | UUID assetID = m_appearance.GetAttachedAsset(p); | 3849 | UUID assetID = m_appearance.GetAttachedAsset(p); |
3846 | 3850 | ||
@@ -3866,9 +3870,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3866 | { | 3870 | { |
3867 | m_log.ErrorFormat("[ATTACHMENT]: Unable to rez attachment: {0}", e.ToString()); | 3871 | m_log.ErrorFormat("[ATTACHMENT]: Unable to rez attachment: {0}", e.ToString()); |
3868 | } | 3872 | } |
3869 | |||
3870 | } | 3873 | } |
3871 | |||
3872 | } | 3874 | } |
3873 | } | 3875 | } |
3874 | } | 3876 | } |