aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-08-12 19:00:13 +0000
committerJustin Clarke Casey2008-08-12 19:00:13 +0000
commit4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf (patch)
tree6aab22c68ef6fbc8262567cb0cdaa511ca965b54 /OpenSim/Region/Environment
parentThanks, lulurun, for a patch that addresses inventory problems that occur (diff)
downloadopensim-SC-4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf.zip
opensim-SC-4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf.tar.gz
opensim-SC-4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf.tar.bz2
opensim-SC-4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf.tar.xz
* Stop warnings about non existent scene presences/entities being removed on client log off
* This is being done by preventing close from being called twice on child agent closure (nres which would have been thrown are being swallowed). * However, it should be possible to do much better cleanup on this code in the future
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r--OpenSim/Region/Environment/Scenes/InnerScene.cs22
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs3
2 files changed, 14 insertions, 11 deletions
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs
index c4e4919..cdc05ee 100644
--- a/OpenSim/Region/Environment/Scenes/InnerScene.cs
+++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs
@@ -584,26 +584,26 @@ namespace OpenSim.Region.Environment.Scenes
584 { 584 {
585 lock (Entities) 585 lock (Entities)
586 { 586 {
587 if (Entities.Remove(agentID)) 587 if (!Entities.Remove(agentID))
588 {
589 //m_log.InfoFormat("[SCENE] Removed scene presence {0} from entities list", agentID);
590 }
591 else
592 { 588 {
593 m_log.WarnFormat("[SCENE] Tried to remove non-existent scene presence with agent ID {0} from scene Entities list", agentID); 589 m_log.WarnFormat("[SCENE] Tried to remove non-existent scene presence with agent ID {0} from scene Entities list", agentID);
594 } 590 }
591// else
592// {
593// m_log.InfoFormat("[SCENE] Removed scene presence {0} from entities list", agentID);
594// }
595 } 595 }
596 596
597 lock (ScenePresences) 597 lock (ScenePresences)
598 { 598 {
599 if (ScenePresences.Remove(agentID)) 599 if (!ScenePresences.Remove(agentID))
600 {
601 //m_log.InfoFormat("[SCENE] Removed scene presence {0}", agentID);
602 }
603 else
604 { 600 {
605 m_log.WarnFormat("[SCENE] Tried to remove non-existent scene presence with agent ID {0} from scene ScenePresences list", agentID); 601 m_log.WarnFormat("[SCENE] Tried to remove non-existent scene presence with agent ID {0} from scene ScenePresences list", agentID);
606 } 602 }
603// else
604// {
605// m_log.InfoFormat("[SCENE] Removed scene presence {0} from scene presences list", agentID);
606// }
607 } 607 }
608 } 608 }
609 609
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index b54713f..ef0a119 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -2259,6 +2259,7 @@ namespace OpenSim.Region.Environment.Scenes
2259 { 2259 {
2260 childagentYN = avatar.IsChildAgent; 2260 childagentYN = avatar.IsChildAgent;
2261 } 2261 }
2262
2262 try 2263 try
2263 { 2264 {
2264 m_log.DebugFormat( 2265 m_log.DebugFormat(
@@ -2295,6 +2296,7 @@ namespace OpenSim.Region.Environment.Scenes
2295 // We don't know which count to remove it from 2296 // We don't know which count to remove it from
2296 // Avatar is already disposed :/ 2297 // Avatar is already disposed :/
2297 } 2298 }
2299
2298 m_eventManager.TriggerOnRemovePresence(agentID); 2300 m_eventManager.TriggerOnRemovePresence(agentID);
2299 Broadcast(delegate(IClientAPI client) 2301 Broadcast(delegate(IClientAPI client)
2300 { 2302 {
@@ -2631,6 +2633,7 @@ namespace OpenSim.Region.Environment.Scenes
2631 { 2633 {
2632 m_innerScene.removeUserCount(true); 2634 m_innerScene.removeUserCount(true);
2633 } 2635 }
2636
2634 // Tell a single agent to disconnect from the region. 2637 // Tell a single agent to disconnect from the region.
2635 presence.ControllingClient.SendShutdownConnectionNotice(); 2638 presence.ControllingClient.SendShutdownConnectionNotice();
2636 2639