Eliminate multiple updates on link/unlink
							parent
							
								
									f8cc409034
								
							
						
					
					
						commit
						e3a22ff37d
					
				| 
						 | 
				
			
			@ -1593,6 +1593,8 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
            // occur on link to invoke this elsewhere (such as object selection)
 | 
			
		||||
            parentGroup.RootPart.AddFlag(PrimFlags.CreateSelected);
 | 
			
		||||
            parentGroup.TriggerScriptChangedEvent(Changed.LINK);
 | 
			
		||||
            parentGroup.HasGroupChanged = true;
 | 
			
		||||
            parentGroup.ScheduleGroupForFullUpdate();
 | 
			
		||||
            
 | 
			
		||||
            if (client != null)
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2207,8 +2207,8 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
            // unmoved prims!
 | 
			
		||||
            ResetChildPrimPhysicsPositions();
 | 
			
		||||
 | 
			
		||||
            HasGroupChanged = true;
 | 
			
		||||
            ScheduleGroupForFullUpdate();
 | 
			
		||||
            //HasGroupChanged = true;
 | 
			
		||||
            //ScheduleGroupForFullUpdate();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
| 
						 | 
				
			
			@ -2299,8 +2299,8 @@ namespace OpenSim.Region.Framework.Scenes
 | 
			
		|||
 | 
			
		||||
            linkPart.Rezzed = RootPart.Rezzed;
 | 
			
		||||
 | 
			
		||||
            HasGroupChanged = true;
 | 
			
		||||
            ScheduleGroupForFullUpdate();
 | 
			
		||||
            //HasGroupChanged = true;
 | 
			
		||||
            //ScheduleGroupForFullUpdate();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3523,6 +3523,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
 | 
			
		|||
                {
 | 
			
		||||
                    parentPrim.DelinkFromGroup(part.LocalId, true);
 | 
			
		||||
                }
 | 
			
		||||
                parentPrim.HasGroupChanged = true;
 | 
			
		||||
                parentPrim.ScheduleGroupForFullUpdate();
 | 
			
		||||
                parentPrim.TriggerScriptChangedEvent(Changed.LINK);
 | 
			
		||||
 | 
			
		||||
                if (parts.Count > 0)
 | 
			
		||||
| 
						 | 
				
			
			@ -3534,6 +3536,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
 | 
			
		|||
                        part.UpdateFlag = 0;
 | 
			
		||||
                        newRoot.ParentGroup.LinkToGroup(part.ParentGroup);
 | 
			
		||||
                    }
 | 
			
		||||
                    newRoot.ParentGroup.HasGroupChanged = true;
 | 
			
		||||
                    newRoot.ParentGroup.ScheduleGroupForFullUpdate();
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
| 
						 | 
				
			
			@ -3542,6 +3546,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
 | 
			
		|||
                    return;
 | 
			
		||||
 | 
			
		||||
                parentPrim.DelinkFromGroup(childPrim.LocalId, true);
 | 
			
		||||
                parentPrim.HasGroupChanged = true;
 | 
			
		||||
                parentPrim.ScheduleGroupForFullUpdate();
 | 
			
		||||
                parentPrim.TriggerScriptChangedEvent(Changed.LINK);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -3561,6 +3567,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
 | 
			
		|||
                parentPrim.DelinkFromGroup(part.LocalId, true);
 | 
			
		||||
                parentPrim.TriggerScriptChangedEvent(Changed.LINK);
 | 
			
		||||
            }
 | 
			
		||||
            parentPrim.HasGroupChanged = true;
 | 
			
		||||
            parentPrim.ScheduleGroupForFullUpdate();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public LSL_String llGetLinkKey(int linknum)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue