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
							parent
							
								
									ee0a5caa30
								
							
						
					
					
						commit
						9fc67f1908
					
				| 
						 | 
				
			
			@ -2767,14 +2767,15 @@ namespace OpenSim.Region.Environment.Scenes
 | 
			
		|||
                ScenePresence presence = m_innerScene.GetScenePresence(agentID);
 | 
			
		||||
                if (presence != null)
 | 
			
		||||
                {
 | 
			
		||||
                    if (presence.IsChildAgent)
 | 
			
		||||
                    {
 | 
			
		||||
                        m_innerScene.removeUserCount(false);
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        m_innerScene.removeUserCount(true);
 | 
			
		||||
                    }
 | 
			
		||||
                    // Nothing is removed here, so down count it as such
 | 
			
		||||
                    // if (presence.IsChildAgent)
 | 
			
		||||
                    // {
 | 
			
		||||
                    //    m_innerScene.removeUserCount(false);
 | 
			
		||||
                    // }
 | 
			
		||||
                    // else
 | 
			
		||||
                    // {
 | 
			
		||||
                    //    m_innerScene.removeUserCount(true);
 | 
			
		||||
                    // }
 | 
			
		||||
 | 
			
		||||
                    // Tell a single agent to disconnect from the region.
 | 
			
		||||
                    presence.ControllingClient.SendShutdownConnectionNotice();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue