* Eliminate an extra unnecessary appearance fetch on login
* This shouldn't fix the existing appearance bugs, but neither should it make them worse.0.6.0-stable
							parent
							
								
									baa29fcbff
								
							
						
					
					
						commit
						f34079cc8c
					
				| 
						 | 
				
			
			@ -703,28 +703,27 @@ namespace OpenSim.Region.Environment.Scenes
 | 
			
		|||
        /// </summary>
 | 
			
		||||
        public void MakeRootAgent(Vector3 pos, bool isFlying)
 | 
			
		||||
        {
 | 
			
		||||
            m_log.DebugFormat(
 | 
			
		||||
                "[SCENE]: Upgrading child to root agent for {0} in {1}",
 | 
			
		||||
                Name, m_scene.RegionInfo.RegionName);
 | 
			
		||||
            
 | 
			
		||||
            IGroupsModule gm = m_scene.RequestModuleInterface<IGroupsModule>();
 | 
			
		||||
            if (gm != null)
 | 
			
		||||
                m_grouptitle = gm.GetGroupTitle(m_uuid);
 | 
			
		||||
 | 
			
		||||
            m_scene.SetRootAgentScene(m_uuid);
 | 
			
		||||
 | 
			
		||||
            IAvatarFactory ava = m_scene.RequestModuleInterface<IAvatarFactory>();
 | 
			
		||||
            if (ava != null)
 | 
			
		||||
            {
 | 
			
		||||
                ava.TryGetAvatarAppearance(m_uuid, out m_appearance);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            m_log.DebugFormat(
 | 
			
		||||
                "[SCENE]: Upgrading child to root agent for {0} in {1}",
 | 
			
		||||
                Name, m_scene.RegionInfo.RegionName);
 | 
			
		||||
            // Moved this from SendInitialData to ensure that m_appearance is initialized
 | 
			
		||||
            // before the inventory is processed in MakeRootAgent. This fixes a race condition
 | 
			
		||||
            // related to the handling of attachments
 | 
			
		||||
            m_scene.GetAvatarAppearance(m_controllingClient, out m_appearance);            
 | 
			
		||||
 | 
			
		||||
            if (pos.X < 0 || pos.X > Constants.RegionSize || pos.Y < 0 || pos.Y > Constants.RegionSize || pos.Z < 0)
 | 
			
		||||
            {
 | 
			
		||||
                Vector3 emergencyPos = new Vector3(128, 128, 128);
 | 
			
		||||
 | 
			
		||||
                m_log.WarnFormat(
 | 
			
		||||
                    "[SCENE PRESENCE]: MakeRootAgent() was given an illegal position of {0} for avatar {1}, {2}.  Substituting {3}",
 | 
			
		||||
                    "[SCENE]: MakeRootAgent() was given an illegal position of {0} for avatar {1}, {2}.  Substituting {3}",
 | 
			
		||||
                    pos, Name, UUID, emergencyPos);
 | 
			
		||||
 | 
			
		||||
                pos = emergencyPos;
 | 
			
		||||
| 
						 | 
				
			
			@ -892,11 +891,6 @@ namespace OpenSim.Region.Environment.Scenes
 | 
			
		|||
 | 
			
		||||
            m_controllingClient.MoveAgentIntoRegion(m_regionInfo, AbsolutePosition, look);
 | 
			
		||||
 | 
			
		||||
            // Moved this from SendInitialData to ensure that m_appearance is initialized
 | 
			
		||||
            // before the inventory is processed in MakeRootAgent. This fixes a race condition
 | 
			
		||||
            // related to the handling of attachments
 | 
			
		||||
            m_scene.GetAvatarAppearance(m_controllingClient, out m_appearance);
 | 
			
		||||
 | 
			
		||||
            if (m_isChildAgent)
 | 
			
		||||
            {
 | 
			
		||||
                m_isChildAgent = false;
 | 
			
		||||
| 
						 | 
				
			
			@ -1854,7 +1848,7 @@ namespace OpenSim.Region.Environment.Scenes
 | 
			
		|||
        /// <param name="client"></param>
 | 
			
		||||
        public void SendOwnAppearance()
 | 
			
		||||
        {
 | 
			
		||||
            m_log.Info("[APPEARANCE] Sending Own Appearance");
 | 
			
		||||
            m_log.Info("[APPEARANCE]: Sending Own Appearance");
 | 
			
		||||
            ControllingClient.SendWearables(m_appearance.Wearables, m_appearance.Serial++);
 | 
			
		||||
            // ControllingClient.SendAppearance(
 | 
			
		||||
            //                                 m_appearance.Owner,
 | 
			
		||||
| 
						 | 
				
			
			@ -1868,7 +1862,7 @@ namespace OpenSim.Region.Environment.Scenes
 | 
			
		|||
        /// </summary>
 | 
			
		||||
        public void SendAppearanceToAllOtherAgents()
 | 
			
		||||
        {
 | 
			
		||||
            m_log.Info("[APPEARANCE] Sending Appearance to All Other Agents");
 | 
			
		||||
            m_log.Info("[APPEARANCE]: Sending Appearance to All Other Agents");
 | 
			
		||||
            m_perfMonMS=System.Environment.TickCount;
 | 
			
		||||
 | 
			
		||||
            m_scene.ForEachScenePresence(delegate(ScenePresence scenePresence)
 | 
			
		||||
| 
						 | 
				
			
			@ -1892,7 +1886,7 @@ namespace OpenSim.Region.Environment.Scenes
 | 
			
		|||
 | 
			
		||||
        public void SetAppearance(byte[] texture, List<byte> visualParam)
 | 
			
		||||
        {
 | 
			
		||||
            m_log.Info("[APPEARANCE] Setting Appearance");
 | 
			
		||||
            m_log.Info("[APPEARANCE]: Setting Appearance");
 | 
			
		||||
            m_appearance.SetAppearance(texture, visualParam);
 | 
			
		||||
            SetHeight(m_appearance.AvatarHeight);
 | 
			
		||||
            m_scene.CommsManager.AvatarService.UpdateUserAppearance(m_controllingClient.AgentId, m_appearance);
 | 
			
		||||
| 
						 | 
				
			
			@ -1903,7 +1897,7 @@ namespace OpenSim.Region.Environment.Scenes
 | 
			
		|||
 | 
			
		||||
        public void SetWearable(int wearableId, AvatarWearable wearable)
 | 
			
		||||
        {
 | 
			
		||||
            m_log.Info("[APPEARANCE] Setting Wearable");
 | 
			
		||||
            m_log.Info("[APPEARANCE]: Setting Wearable");
 | 
			
		||||
            m_appearance.SetWearable(wearableId, wearable);
 | 
			
		||||
            m_scene.CommsManager.AvatarService.UpdateUserAppearance(m_controllingClient.AgentId, m_appearance);
 | 
			
		||||
            m_controllingClient.SendWearables(m_appearance.Wearables, m_appearance.Serial++);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue