diff options
author | Justin Clarke Casey | 2008-08-12 19:00:13 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-08-12 19:00:13 +0000 |
commit | 4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf (patch) | |
tree | 6aab22c68ef6fbc8262567cb0cdaa511ca965b54 /OpenSim/Region/Environment | |
parent | Thanks, lulurun, for a patch that addresses inventory problems that occur (diff) | |
download | opensim-SC_OLD-4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf.zip opensim-SC_OLD-4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf.tar.gz opensim-SC_OLD-4e555b87f31c0e82b6120564cd6d8e2b41a3b8bf.tar.bz2 opensim-SC_OLD-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 '')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/InnerScene.cs | 22 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 3 |
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 | ||