Fixed a bug in ScheduleTerseUpdate, and added a few debug lines.
parent
28f401d95a
commit
85085977ac
|
@ -2291,12 +2291,27 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
|
|
||||||
if (propertiesSyncInfo.Count>0)
|
if (propertiesSyncInfo.Count>0)
|
||||||
{
|
{
|
||||||
|
//SYNC DEBUG
|
||||||
|
string pString = "";
|
||||||
|
foreach (PropertySyncInfo p in propertiesSyncInfo)
|
||||||
|
{
|
||||||
|
pString += p.Property.ToString() + " ";
|
||||||
|
}
|
||||||
|
m_log.DebugFormat("{0}: HandleUpdatedPrimProperties, for prim {1},{2} with updated properties -- {3}", LogHeader, sop.Name, sop.UUID, pString);
|
||||||
|
|
||||||
List<SceneObjectPartSyncProperties> propertiesUpdated = m_primSyncInfoManager.UpdatePrimSyncInfoBySync(sop, propertiesSyncInfo);
|
List<SceneObjectPartSyncProperties> propertiesUpdated = m_primSyncInfoManager.UpdatePrimSyncInfoBySync(sop, propertiesSyncInfo);
|
||||||
|
|
||||||
|
//SYNC DEBUG
|
||||||
|
if (propertiesUpdated.Contains(SceneObjectPartSyncProperties.Shape))
|
||||||
|
{
|
||||||
|
m_log.DebugFormat("Shape updated: " + PropertySerializer.SerializeShape(sop));
|
||||||
|
}
|
||||||
|
|
||||||
if (propertiesUpdated.Count > 0)
|
if (propertiesUpdated.Count > 0)
|
||||||
{
|
{
|
||||||
//Enqueue the updated SOP and its properties for sync
|
//Enqueue the updated SOP and its properties for sync
|
||||||
ProcessAndEnqueuePrimUpdatesBySync(sop, propertiesUpdated);
|
ProcessAndEnqueuePrimUpdatesBySync(sop, propertiesUpdated);
|
||||||
|
|
||||||
//Calling SOP.ScheduleFullUpdate(), so that viewers, if any,
|
//Calling SOP.ScheduleFullUpdate(), so that viewers, if any,
|
||||||
//will receive updates as well.
|
//will receive updates as well.
|
||||||
sop.ScheduleFullUpdate(null);
|
sop.ScheduleFullUpdate(null);
|
||||||
|
@ -3350,10 +3365,29 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
|
|
||||||
private void SendPrimPropertyUpdates(UUID primUUID, HashSet<SceneObjectPartSyncProperties> updatedProperties)
|
private void SendPrimPropertyUpdates(UUID primUUID, HashSet<SceneObjectPartSyncProperties> updatedProperties)
|
||||||
{
|
{
|
||||||
|
SceneObjectPart sop = m_scene.GetSceneObjectPart(primUUID);
|
||||||
|
|
||||||
|
if (sop == null || sop.ParentGroup.IsDeleted)
|
||||||
|
return;
|
||||||
|
|
||||||
OSDMap syncData = m_primSyncInfoManager.EncodePrimProperties(primUUID, updatedProperties);
|
OSDMap syncData = m_primSyncInfoManager.EncodePrimProperties(primUUID, updatedProperties);
|
||||||
|
|
||||||
if (syncData.Count > 0)
|
if (syncData.Count > 0)
|
||||||
{
|
{
|
||||||
|
//SYNC DEBUG
|
||||||
|
string pString = "";
|
||||||
|
foreach (SceneObjectPartSyncProperties property in updatedProperties)
|
||||||
|
{
|
||||||
|
pString += property.ToString() + " ";
|
||||||
|
}
|
||||||
|
m_log.DebugFormat("{0}: SendPrimPropertyUpdates for {1}, {2}, with updated properties -- {3}", LogHeader, sop.Name, sop.UUID, pString);
|
||||||
|
|
||||||
|
//SYNC DEBUG
|
||||||
|
if (updatedProperties.Contains(SceneObjectPartSyncProperties.Shape))
|
||||||
|
{
|
||||||
|
m_log.DebugFormat("Shape updated: " + PropertySerializer.SerializeShape(sop));
|
||||||
|
}
|
||||||
|
|
||||||
SymmetricSyncMessage syncMsg = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.UpdatedPrimProperties, OSDParser.SerializeJsonString(syncData));
|
SymmetricSyncMessage syncMsg = new SymmetricSyncMessage(SymmetricSyncMessage.MsgType.UpdatedPrimProperties, OSDParser.SerializeJsonString(syncData));
|
||||||
SendPrimUpdateToRelevantSyncConnectors(primUUID, syncMsg);
|
SendPrimUpdateToRelevantSyncConnectors(primUUID, syncMsg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -6083,7 +6083,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
if (updatedProperties != null && updatedProperties.Count > 0)
|
if (updatedProperties != null && updatedProperties.Count > 0)
|
||||||
{
|
{
|
||||||
if (m_parentGroup != null && m_parentGroup.Scene.RegionSyncModule != null)
|
if (m_parentGroup != null && m_parentGroup.Scene != null && m_parentGroup.Scene.RegionSyncModule != null)
|
||||||
{
|
{
|
||||||
m_parentGroup.Scene.RegionSyncModule.ProcessAndEnqueuePrimUpdatesByLocal(this, updatedProperties);
|
m_parentGroup.Scene.RegionSyncModule.ProcessAndEnqueuePrimUpdatesByLocal(this, updatedProperties);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue