Mantis#2067. Thank you kindly, HomerHorwitz for a patch that:

Found that during my ghost-hunt: Add some logging and you see that the 
counting down happens twice (once at the place that is removed by the 
patch, and once caused by the actual removal of the root-/child-agent 
during LLClientView.Close). With the patch applied, I end up with correct 
numbers, i.e. with 0 roots and 0 children after everyone has logged out.
0.6.0-stable
Charles Krinke 2008-08-29 14:21:31 +00:00
parent ee0a5caa30
commit 9fc67f1908
1 changed files with 9 additions and 8 deletions

View File

@ -2767,14 +2767,15 @@ namespace OpenSim.Region.Environment.Scenes
ScenePresence presence = m_innerScene.GetScenePresence(agentID); ScenePresence presence = m_innerScene.GetScenePresence(agentID);
if (presence != null) if (presence != null)
{ {
if (presence.IsChildAgent) // Nothing is removed here, so down count it as such
{ // if (presence.IsChildAgent)
m_innerScene.removeUserCount(false); // {
} // m_innerScene.removeUserCount(false);
else // }
{ // else
m_innerScene.removeUserCount(true); // {
} // m_innerScene.removeUserCount(true);
// }
// Tell a single agent to disconnect from the region. // Tell a single agent to disconnect from the region.
presence.ControllingClient.SendShutdownConnectionNotice(); presence.ControllingClient.SendShutdownConnectionNotice();