Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.

UpdateFlag is now referenced/used only within SOP and SOG. Outsiders are
using ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule on
SOP consistently now. Also started working toward eliminating those
calls to ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule
from outside SOP in favor of just setting properties on SOP and let SOP
decide if an update should be scheduled. This consolidates the update
policy within SOP and the client rather than everywhere that makes
changes to SOP. Some places forget to call update while others call it
multiple times, "just to be sure".

UpdateFlag and Schedule*Update will both be made private shortly.

UpdateFlag is intended to be transient and internal to SOP so it has
been removed from XML serializer for SOPs.
This commit is contained in:
Dan Lake
2011-11-02 14:59:00 -07:00
parent 7c8bfac11b
commit e2c51a977d
11 changed files with 76 additions and 91 deletions

View File

@@ -332,7 +332,7 @@ namespace OpenSim.Region.ClientStack.Linden
grp.IsAttachment = false;
// Required for linking
grp.RootPart.UpdateFlag = 0;
grp.RootPart.ClearUpdateSchedule();
if (m_scene.Permissions.CanRezObject(1, avatar.UUID, pos))
{
@@ -345,8 +345,9 @@ namespace OpenSim.Region.ClientStack.Linden
for (int j = 1; j < allparts.Length; j++)
{
rootGroup.RootPart.UpdateFlag = 0;
allparts[j].RootPart.UpdateFlag = 0;
// Required for linking
rootGroup.RootPart.ClearUpdateSchedule();
allparts[j].RootPart.ClearUpdateSchedule();
rootGroup.LinkToGroup(allparts[j]);
}