Fix for rezzing and derezzing HUDs (see Mantis #5406). From now on updates are only sent to affected clients.
							parent
							
								
									8caf3ed49e
								
							
						
					
					
						commit
						2b2580e3a1
					
				| 
						 | 
				
			
			@ -1174,7 +1174,11 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
                    {
 | 
			
		||||
                        part.UpdateFlag = 0;
 | 
			
		||||
                        if (part == m_rootPart)
 | 
			
		||||
                            avatar.ControllingClient.SendKillObject(m_regionHandle, part.LocalId);
 | 
			
		||||
                        {
 | 
			
		||||
                            if (!IsAttachment || (AttachedAvatar == avatar.ControllingClient.AgentId) || 
 | 
			
		||||
                                (AttachmentPoint < 31) || (AttachmentPoint > 38))
 | 
			
		||||
                                avatar.ControllingClient.SendKillObject(m_regionHandle, part.LocalId);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2999,6 +2999,10 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
            if (ParentGroup.IsDeleted)
 | 
			
		||||
                return;
 | 
			
		||||
 | 
			
		||||
            if (ParentGroup.IsAttachment && (ParentGroup.AttachedAvatar != remoteClient.AgentId) &&
 | 
			
		||||
                (ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38))
 | 
			
		||||
                return;
 | 
			
		||||
 | 
			
		||||
            clientFlags &= ~(uint) PrimFlags.CreateSelected;
 | 
			
		||||
 | 
			
		||||
            if (remoteClient.AgentId == _ownerID)
 | 
			
		||||
| 
						 | 
				
			
			@ -4786,7 +4790,8 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
            if (ParentGroup.IsDeleted)
 | 
			
		||||
                return;
 | 
			
		||||
 | 
			
		||||
            if (ParentGroup.IsAttachment && ParentGroup.RootPart != this)
 | 
			
		||||
            if (ParentGroup.IsAttachment && ((ParentGroup.RootPart != this) ||
 | 
			
		||||
                ((ParentGroup.AttachedAvatar != remoteClient.AgentId) && (ParentGroup.AttachmentPoint >= 31) && (ParentGroup.AttachmentPoint <= 38))))
 | 
			
		||||
                return;
 | 
			
		||||
            
 | 
			
		||||
            // Causes this thread to dig into the Client Thread Data.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue