Added back the LocalFlags as one of the SOP properties to be synced, so that script events such as touch is propogated properly.

Also removed some debug messages.
dsg
Huaiyu (Kitty) Liu 2011-03-07 15:51:59 -08:00
parent 59fbb9cbef
commit 3fe31ad457
4 changed files with 17 additions and 9 deletions

View File

@ -271,7 +271,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
{ {
m_presenceUpdates[presence.UUID] = presence; m_presenceUpdates[presence.UUID] = presence;
} }
m_log.DebugFormat("[REGION SYNC SERVER MODULE] QueuePresenceForUpdate: {0}", presence.UUID.ToString()); //m_log.DebugFormat("[REGION SYNC SERVER MODULE] QueuePresenceForUpdate: {0}", presence.UUID.ToString());
} }
public void SendUpdates() public void SendUpdates()

View File

@ -752,7 +752,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
data["LastUpdateActorID"] = OSD.FromString(updatedPart.BucketSyncInfoList[bucketName].LastUpdateActorID); data["LastUpdateActorID"] = OSD.FromString(updatedPart.BucketSyncInfoList[bucketName].LastUpdateActorID);
SymmetricSyncMessage syncMsg = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.UpdatedBucketProperties, OSDParser.SerializeJsonString(data)); SymmetricSyncMessage syncMsg = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.UpdatedBucketProperties, OSDParser.SerializeJsonString(data));
m_log.DebugFormat("{0}: PhysBucketSender for {1}, pos={2}", LogHeader, updatedPart.UUID.ToString(), pa.Position.ToString()); //m_log.DebugFormat("{0}: PhysBucketSender for {1}, pos={2}", LogHeader, updatedPart.UUID.ToString(), pa.Position.ToString());
SendObjectUpdateToRelevantSyncConnectors(updatedPart, syncMsg); SendObjectUpdateToRelevantSyncConnectors(updatedPart, syncMsg);
} }
} }
@ -1268,8 +1268,14 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
HashSet<SyncConnector> newlist = new HashSet<SyncConnector>(currentlist); HashSet<SyncConnector> newlist = new HashSet<SyncConnector>(currentlist);
newlist.Remove(syncConnector); newlist.Remove(syncConnector);
if (newlist.Count == 0)
{
m_synced = false;
}
m_syncConnectors = newlist; m_syncConnectors = newlist;
} }
} }
public void StopAllSyncConnectors() public void StopAllSyncConnectors()
@ -1517,7 +1523,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
UUID partUUID = data["UUID"].AsUUID(); UUID partUUID = data["UUID"].AsUUID();
string bucketName = data["Bucket"].AsString(); string bucketName = data["Bucket"].AsString();
m_log.DebugFormat("{0}: HandleUpdatedBucketProperties {1}: for {2}/{3}", LogHeader, senderActorID, partUUID.ToString(), bucketName); //m_log.DebugFormat("{0}: HandleUpdatedBucketProperties {1}: for {2}/{3}", LogHeader, senderActorID, partUUID.ToString(), bucketName);
/* Commented out since OSDMap is now passed all the way through to the unpacker. /* Commented out since OSDMap is now passed all the way through to the unpacker.
* Previous implementation is to create a SOP and copy the values into same and copy them out later. * Previous implementation is to create a SOP and copy the values into same and copy them out later.

View File

@ -166,7 +166,7 @@ namespace OpenSim.Region.Framework.Scenes
get { return m_physActor; } get { return m_physActor; }
set set
{ {
m_log.DebugFormat("[SCENE OBJECT PART]: PhysActor set to {0} for {1} {2}", value, Name, UUID); //m_log.DebugFormat("[SCENE OBJECT PART]: PhysActor set to {0} for {1} {2}", value, Name, UUID);
m_physActor = value; m_physActor = value;
} }
} }
@ -5450,6 +5450,7 @@ namespace OpenSim.Region.Framework.Scenes
localPart.EveryoneMask = updatedPart.EveryoneMask; localPart.EveryoneMask = updatedPart.EveryoneMask;
localPart.NextOwnerMask = updatedPart.NextOwnerMask; localPart.NextOwnerMask = updatedPart.NextOwnerMask;
localPart.Flags = updatedPart.Flags; localPart.Flags = updatedPart.Flags;
localPart.LocalFlags = updatedPart.LocalFlags;
//We will update CollisionSound with special care so that it does not lead to ScheduleFullUpdate of this part, to make the actor think it just made an update and //We will update CollisionSound with special care so that it does not lead to ScheduleFullUpdate of this part, to make the actor think it just made an update and
//need to propogate that update to other actors. //need to propogate that update to other actors.
@ -5830,8 +5831,8 @@ namespace OpenSim.Region.Framework.Scenes
{ {
if (updatedProperties != null && updatedProperties.Count > 0) if (updatedProperties != null && updatedProperties.Count > 0)
{ {
m_log.DebugFormat("{0}: Tainting bucket for properties {1}", //m_log.DebugFormat("{0}: Tainting bucket for properties {1}",
"[SCENE OBJECT PART]", updatedProperties.ToString()); // "[SCENE OBJECT PART]", updatedProperties.ToString());
foreach (SceneObjectPartProperties property in updatedProperties) foreach (SceneObjectPartProperties property in updatedProperties)
{ {
TaintBucketSyncInfo(property); TaintBucketSyncInfo(property);

View File

@ -330,7 +330,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
m_SOPXmlProcessors.Add("ParticleSystem", ProcessParticleSystem); m_SOPXmlProcessors.Add("ParticleSystem", ProcessParticleSystem);
//SYMMETRIC SYNC //SYMMETRIC SYNC
//m_SOPXmlProcessors.Add("LocalFlags", ProcessLocalFlags); m_SOPXmlProcessors.Add("LocalFlags", ProcessLocalFlags);
//m_SOPXmlProcessors.Add("LastUpdateTimeStamp", ProcessUpdateTimeStamp); //m_SOPXmlProcessors.Add("LastUpdateTimeStamp", ProcessUpdateTimeStamp);
//m_SOPXmlProcessors.Add("LastUpdateActorID", ProcessLastUpdateActorID); //m_SOPXmlProcessors.Add("LastUpdateActorID", ProcessLastUpdateActorID);
m_SOPXmlProcessors.Add("IsAttachment", ProcessIsAttachment); m_SOPXmlProcessors.Add("IsAttachment", ProcessIsAttachment);
@ -718,13 +718,14 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
{ {
obj.LastUpdateActorID = reader.ReadElementContentAsString("LastUpdateActorID", string.Empty); obj.LastUpdateActorID = reader.ReadElementContentAsString("LastUpdateActorID", string.Empty);
} }
* */
private static void ProcessLocalFlags(SceneObjectPart obj, XmlTextReader reader) private static void ProcessLocalFlags(SceneObjectPart obj, XmlTextReader reader)
{ {
obj.LocalFlags = Util.ReadEnum<PrimFlags>(reader, "LocalFlags"); obj.LocalFlags = Util.ReadEnum<PrimFlags>(reader, "LocalFlags");
} }
* */
private static void ProcessIsAttachment(SceneObjectPart obj, XmlTextReader reader) private static void ProcessIsAttachment(SceneObjectPart obj, XmlTextReader reader)
{ {
@ -1273,7 +1274,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
writer.WriteElementString("NextOwnerMask", sop.NextOwnerMask.ToString()); writer.WriteElementString("NextOwnerMask", sop.NextOwnerMask.ToString());
//SYMMETRIC SYNC: also serialize SceneObjectPart:LocalFlags, so that it can be propogated across actors //SYMMETRIC SYNC: also serialize SceneObjectPart:LocalFlags, so that it can be propogated across actors
WriteFlags(writer, "Flags", sop.Flags.ToString(), options); WriteFlags(writer, "Flags", sop.Flags.ToString(), options);
//WriteFlags(writer, "LocalFlags", sop.LocalFlags.ToString(), options); WriteFlags(writer, "LocalFlags", sop.LocalFlags.ToString(), options);
//end SYMMETRIC SYNC //end SYMMETRIC SYNC
WriteUUID(writer, "CollisionSound", sop.CollisionSound, options); WriteUUID(writer, "CollisionSound", sop.CollisionSound, options);
writer.WriteElementString("CollisionSoundVolume", sop.CollisionSoundVolume.ToString()); writer.WriteElementString("CollisionSoundVolume", sop.CollisionSoundVolume.ToString());