RegionSyncModule.SendLinkObject and SendLinkObject now call BucketSyncInfoUpdate() for the linked/delinked
objects, to make sure they have updated timestamp information for synchronization purpose.dsg
parent
63e35d53f7
commit
411fa60b2b
|
@ -515,6 +515,9 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
return;
|
||||
}
|
||||
|
||||
//First, make sure the linked group has updated timestamp info for synchronization
|
||||
linkedGroup.BucketSyncInfoUpdate();
|
||||
|
||||
OSDMap data = new OSDMap();
|
||||
string sogxml = SceneObjectSerializer.ToXml2Format(linkedGroup);
|
||||
data["linkedGroup"]=OSD.FromString(sogxml);
|
||||
|
@ -573,6 +576,12 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
groupNum++;
|
||||
}
|
||||
|
||||
//make sure the newly delinked objects have the updated timestamp information
|
||||
foreach (SceneObjectGroup sog in afterDelinkGroups)
|
||||
{
|
||||
sog.BucketSyncInfoUpdate();
|
||||
}
|
||||
|
||||
SymmetricSyncMessage rsm = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.DelinkObject, OSDParser.SerializeJsonString(data));
|
||||
SendDelinkObjectToRelevantSyncConnectors(beforeDelinkGroups, rsm);
|
||||
}
|
||||
|
|
|
@ -1601,7 +1601,6 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
if (m_parentScene.RegionSyncModule != null)
|
||||
{
|
||||
//Tell other actors to link the SceneObjectParts together as a new group.
|
||||
//parentGroup.SyncInfoUpdate();
|
||||
m_parentScene.RegionSyncModule.SendLinkObject(parentGroup, root, children);
|
||||
}
|
||||
|
||||
|
|
|
@ -4046,17 +4046,19 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
public void SyncInfoUpdate()
|
||||
|
||||
public void BucketSyncInfoUpdate()
|
||||
{
|
||||
long timeStamp = DateTime.Now.Ticks;
|
||||
string actorID = m_scene.GetSyncActorID();
|
||||
foreach (SceneObjectPart part in Parts)
|
||||
{
|
||||
part.SyncInfoUpdate(timeStamp, actorID);
|
||||
//part.SyncInfoUpdate(timeStamp, actorID);
|
||||
part.UpdateAllBucketSyncInfo(timeStamp);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
public void SyncInfoUpdate(long timeStamp, string actorID)
|
||||
{
|
||||
foreach (SceneObjectPart part in Parts)
|
||||
|
|
|
@ -5576,6 +5576,19 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
}
|
||||
|
||||
public void UpdateAllBucketSyncInfo(long timeStamp)
|
||||
{
|
||||
if (m_syncEnabled)
|
||||
{
|
||||
foreach (KeyValuePair<string, BucketSyncInfo> pair in m_bucketSyncInfoList)
|
||||
{
|
||||
string bucketName = pair.Key;
|
||||
BucketSyncInfo syncInfo= pair.Value;
|
||||
syncInfo.UpdateSyncInfo(timeStamp, m_localActorID);
|
||||
m_bucketSyncTainted[bucketName] = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public Scene.ObjectUpdateResult UpdateAllProperties(SceneObjectPart updatedPart)
|
||||
|
|
|
@ -3817,7 +3817,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
}
|
||||
parentPrim.HasGroupChanged = true;
|
||||
//parentPrim.ScheduleGroupForFullUpdate();
|
||||
//SYMMETRIC SYNC
|
||||
//SYMMETRIC SYNCF
|
||||
if (World.RegionSyncModule != null)
|
||||
{
|
||||
parts.Add(rootPart);
|
||||
|
|
Loading…
Reference in New Issue