* an attempt to resolve the teleport + attachment = crash
							parent
							
								
									b3e413bef7
								
							
						
					
					
						commit
						c98fb26789
					
				| 
						 | 
					@ -93,6 +93,8 @@ namespace OpenSim.Region.Environment.Scenes
 | 
				
			||||||
        private float m_sitAvatarHeight = 2.0f;
 | 
					        private float m_sitAvatarHeight = 2.0f;
 | 
				
			||||||
        private float m_godlevel = 0;
 | 
					        private float m_godlevel = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private bool m_attachmentsTransported = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private bool m_invulnerable = true;
 | 
					        private bool m_invulnerable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private LLVector3 m_LastChildAgentUpdatePosition = new LLVector3();
 | 
					        private LLVector3 m_LastChildAgentUpdatePosition = new LLVector3();
 | 
				
			||||||
| 
						 | 
					@ -1951,12 +1953,23 @@ namespace OpenSim.Region.Environment.Scenes
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            lock (m_attachments)
 | 
					            lock (m_attachments)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                foreach (SceneObjectGroup grp in m_attachments)
 | 
					                if (!m_attachmentsTransported)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    // ControllingClient may be null at this point!
 | 
					                    try
 | 
				
			||||||
                    m_scene.m_innerScene.DetachSingleAttachmentToInv(grp.GetFromAssetID(), ControllingClient);
 | 
					                    {
 | 
				
			||||||
 | 
					                        foreach (SceneObjectGroup grp in m_attachments)
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            // ControllingClient may be null at this point!
 | 
				
			||||||
 | 
					                            m_scene.m_innerScene.DetachSingleAttachmentToInv(grp.GetFromAssetID(), ControllingClient);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    catch (InvalidOperationException)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        m_log.Info("[CLIENT]: Couldn't save attachments. :(");
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    m_attachments.Clear();
 | 
				
			||||||
 | 
					                    
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                m_attachments.Clear();
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            lock (m_knownPrimUUID)
 | 
					            lock (m_knownPrimUUID)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
| 
						 | 
					@ -2016,8 +2029,10 @@ namespace OpenSim.Region.Environment.Scenes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public void CrossAttachmentsIntoNewRegion(ulong regionHandle)
 | 
					        public void CrossAttachmentsIntoNewRegion(ulong regionHandle)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					            m_attachmentsTransported = true;
 | 
				
			||||||
            lock (m_attachments)
 | 
					            lock (m_attachments)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
 | 
					                
 | 
				
			||||||
                foreach (SceneObjectGroup gobj in m_attachments)
 | 
					                foreach (SceneObjectGroup gobj in m_attachments)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    // If the prim group is null then something must have happened to it!
 | 
					                    // If the prim group is null then something must have happened to it!
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue