aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs13
-rw-r--r--OpenSim/Region/Framework/Scenes/EventManager.cs8
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs10
3 files changed, 21 insertions, 10 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
index 0825a01..c8a25dd 100644
--- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
@@ -388,6 +388,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
388 388
389 Dictionary<SceneObjectGroup, string> scriptStates = new Dictionary<SceneObjectGroup, string>(); 389 Dictionary<SceneObjectGroup, string> scriptStates = new Dictionary<SceneObjectGroup, string>();
390 390
391 m_log.DebugFormat("[ATTACHMENTS MODULE]: enter PrepareScriptInstanceForSave loop");
391 foreach (SceneObjectGroup so in attachments) 392 foreach (SceneObjectGroup so in attachments)
392 { 393 {
393 // Scripts MUST be snapshotted before the object is 394 // Scripts MUST be snapshotted before the object is
@@ -398,13 +399,16 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
398 scriptStates[so] = PrepareScriptInstanceForSave(so, false); 399 scriptStates[so] = PrepareScriptInstanceForSave(so, false);
399 } 400 }
400 401
402 m_log.DebugFormat("[ATTACHMENTS MODULE]: enter UpdateDetachedObject loop");
401 lock (sp.AttachmentsSyncLock) 403 lock (sp.AttachmentsSyncLock)
402 { 404 {
403 foreach (SceneObjectGroup so in attachments) 405 foreach (SceneObjectGroup so in attachments)
404 UpdateDetachedObject(sp, so, scriptStates[so]); 406 UpdateDetachedObject(sp, so, scriptStates[so]);
405 407 m_log.DebugFormat("[ATTACHMENTS MODULE]: enter ClearAttachments");
406 sp.ClearAttachments(); 408 sp.ClearAttachments();
407 } 409 }
410 m_log.DebugFormat("[ATTACHMENTS MODULE]: derez done");
411
408 } 412 }
409 413
410 public void DeleteAttachmentsFromScene(IScenePresence sp, bool silent) 414 public void DeleteAttachmentsFromScene(IScenePresence sp, bool silent)
@@ -1014,6 +1018,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
1014 // Remove the object from the scene so no more updates 1018 // Remove the object from the scene so no more updates
1015 // are sent. Doing this before the below changes will ensure 1019 // are sent. Doing this before the below changes will ensure
1016 // updates can't cause "HUD artefacts" 1020 // updates can't cause "HUD artefacts"
1021
1022 m_log.WarnFormat("[ATTACHMENTS MODULE]: DeleteSceneObject");
1023
1017 m_scene.DeleteSceneObject(so, false, false); 1024 m_scene.DeleteSceneObject(so, false, false);
1018 1025
1019 // Prepare sog for storage 1026 // Prepare sog for storage
@@ -1023,6 +1030,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
1023 1030
1024 if (saveChanged) 1031 if (saveChanged)
1025 { 1032 {
1033 m_log.WarnFormat("[ATTACHMENTS MODULE]: saveChanged true");
1034
1026 // We cannot use AbsolutePosition here because that would 1035 // We cannot use AbsolutePosition here because that would
1027 // attempt to cross the prim as it is detached 1036 // attempt to cross the prim as it is detached
1028 so.ForEachPart(x => { x.GroupPosition = so.RootPart.AttachedPos; }); 1037 so.ForEachPart(x => { x.GroupPosition = so.RootPart.AttachedPos; });
@@ -1031,7 +1040,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
1031 } 1040 }
1032 1041
1033 // Now, remove the scripts 1042 // Now, remove the scripts
1043 m_log.WarnFormat("[ATTACHMENTS MODULE]: remove scripts");
1034 so.RemoveScriptInstances(true); 1044 so.RemoveScriptInstances(true);
1045 m_log.WarnFormat("[ATTACHMENTS MODULE]: UpdateDetachedObject done");
1035 } 1046 }
1036 1047
1037 protected SceneObjectGroup RezSingleAttachmentFromInventoryInternal( 1048 protected SceneObjectGroup RezSingleAttachmentFromInventoryInternal(
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs
index 182c3fd..692e0c9 100644
--- a/OpenSim/Region/Framework/Scenes/EventManager.cs
+++ b/OpenSim/Region/Framework/Scenes/EventManager.cs
@@ -1366,9 +1366,9 @@ namespace OpenSim.Region.Framework.Scenes
1366 { 1366 {
1367 try 1367 try
1368 { 1368 {
1369 m_log.ErrorFormat("[EVENT MANAGER]: OnRemovePresenceDelegate: {0}",d.Target.ToString()); 1369// m_log.ErrorFormat("[EVENT MANAGER]: OnRemovePresenceDelegate: {0}",d.Target.ToString());
1370 d(agentId); 1370 d(agentId);
1371 m_log.ErrorFormat("[EVENT MANAGER]: OnRemovePresenceDelegate done "); 1371// m_log.ErrorFormat("[EVENT MANAGER]: OnRemovePresenceDelegate done ");
1372 } 1372 }
1373 catch (Exception e) 1373 catch (Exception e)
1374 { 1374 {
@@ -2039,9 +2039,9 @@ namespace OpenSim.Region.Framework.Scenes
2039 { 2039 {
2040 try 2040 try
2041 { 2041 {
2042 m_log.ErrorFormat("[EVENT MANAGER]: TriggerClientClosed: {0}", d.Target.ToString()); 2042// m_log.ErrorFormat("[EVENT MANAGER]: TriggerClientClosed: {0}", d.Target.ToString());
2043 d(ClientID, scene); 2043 d(ClientID, scene);
2044 m_log.ErrorFormat("[EVENT MANAGER]: TriggerClientClosed done "); 2044// m_log.ErrorFormat("[EVENT MANAGER]: TriggerClientClosed done ");
2045 2045
2046 } 2046 }
2047 catch (Exception e) 2047 catch (Exception e)
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index c53f7af..0266faf 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -3640,17 +3640,17 @@ namespace OpenSim.Region.Framework.Scenes
3640 } 3640 }
3641 3641
3642 m_eventManager.TriggerClientClosed(agentID, this); 3642 m_eventManager.TriggerClientClosed(agentID, this);
3643 m_log.Debug("[Scene]TriggerClientClosed done"); 3643// m_log.Debug("[Scene]TriggerClientClosed done");
3644 m_eventManager.TriggerOnRemovePresence(agentID); 3644 m_eventManager.TriggerOnRemovePresence(agentID);
3645 m_log.Debug("[Scene]TriggerOnRemovePresence done"); 3645// m_log.Debug("[Scene]TriggerOnRemovePresence done");
3646 3646
3647 if (!isChildAgent) 3647 if (!isChildAgent)
3648 { 3648 {
3649 if (AttachmentsModule != null) 3649 if (AttachmentsModule != null)
3650 { 3650 {
3651 m_log.Debug("[Scene]DeRezAttachments"); 3651// m_log.Debug("[Scene]DeRezAttachments");
3652 AttachmentsModule.DeRezAttachments(avatar); 3652 AttachmentsModule.DeRezAttachments(avatar);
3653 m_log.Debug("[Scene]DeRezAttachments done"); 3653// m_log.Debug("[Scene]DeRezAttachments done");
3654 } 3654 }
3655 3655
3656 ForEachClient( 3656 ForEachClient(
@@ -3665,7 +3665,7 @@ namespace OpenSim.Region.Framework.Scenes
3665 // It's possible for child agents to have transactions if changes are being made cross-border. 3665 // It's possible for child agents to have transactions if changes are being made cross-border.
3666 if (AgentTransactionsModule != null) 3666 if (AgentTransactionsModule != null)
3667 { 3667 {
3668 m_log.Debug("[Scene]RemoveAgentAssetTransactions"); 3668// m_log.Debug("[Scene]RemoveAgentAssetTransactions");
3669 AgentTransactionsModule.RemoveAgentAssetTransactions(agentID); 3669 AgentTransactionsModule.RemoveAgentAssetTransactions(agentID);
3670 } 3670 }
3671 m_log.Debug("[Scene] The avatar has left the building"); 3671 m_log.Debug("[Scene] The avatar has left the building");