Eliminate multiple updates on link/unlink

mysql-performance
Melanie 2009-12-06 00:02:24 +00:00
parent f8cc409034
commit e3a22ff37d
3 changed files with 14 additions and 4 deletions

View File

@ -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)
{

View File

@ -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>

View File

@ -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)