diff --git a/OpenSim/Region/CoreModules/RegionSync/RegionSyncModule/SymmetricSync/RegionSyncModule.cs b/OpenSim/Region/CoreModules/RegionSync/RegionSyncModule/SymmetricSync/RegionSyncModule.cs index 6e34433244..f9fc7d8128 100644 --- a/OpenSim/Region/CoreModules/RegionSync/RegionSyncModule/SymmetricSync/RegionSyncModule.cs +++ b/OpenSim/Region/CoreModules/RegionSync/RegionSyncModule/SymmetricSync/RegionSyncModule.cs @@ -1099,8 +1099,17 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule // debugMsg += ", ChildPart, "; debugMsg += "ParentId = " + part.ParentID; debugMsg += ", GroupPos " + part.GroupPosition + ", offset-position " + part.OffsetPosition; - debugMsg += ", AttachedAvatar=" + part.AttachedAvatar + ", AttachmentPoint = " + part.AttachmentPoint; - debugMsg += ", AttachedPos = " + part.AttachedPos; + if (part.IsAttachment) + { + debugMsg += ", AttachedAvatar=" + part.AttachedAvatar + ", AttachmentPoint = " + part.AttachmentPoint; + debugMsg += ", AttachedPos = " + part.AttachedPos; + } + debugMsg += ", Flags = " + part.Flags.ToString(); + debugMsg += ", LocalFlags = " + part.LocalFlags.ToString(); + if (part.Text != String.Empty) + { + debugMsg += ", Text = " + part.Text+", Color = "+part.Color.ToString(); + } ScenePresence sp = m_scene.GetScenePresence(part.AttachedAvatar); if (sp != null) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 1fb0798208..8d0b1cde78 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs @@ -1258,7 +1258,8 @@ namespace OpenSim.Region.Framework.Scenes } //ScheduleGroupForFullUpdate(); - ScheduleGroupForFullUpdate(new List(){ SceneObjectPartSyncProperties.Flags, SceneObjectPartSyncProperties.AggregateScriptEvents}); //do we also need to synchronize SOG properties such as m_scriptListens_atRotTarget? (does any acotr other than script engine care about it?) + ScheduleGroupForFullUpdate(new List(){ SceneObjectPartSyncProperties.Flags, SceneObjectPartSyncProperties.LocalFlags, + SceneObjectPartSyncProperties.AggregateScriptEvents}); //do we also need to synchronize SOG properties such as m_scriptListens_atRotTarget? (does any acotr other than script engine care about it?) } public void SetText(string text, Vector3 color, double alpha) diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index f0cae6eafe..4b5aa28b88 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -3699,6 +3699,7 @@ namespace OpenSim.Region.Framework.Scenes (int) (color.Y*0xff), (int) (color.Z*0xff)); SetText(text); + ScheduleFullUpdate(new List() { SceneObjectPartSyncProperties.Color, SceneObjectPartSyncProperties.Text }); } public void StopMoveToTarget() @@ -4771,7 +4772,8 @@ namespace OpenSim.Region.Framework.Scenes // m_log.DebugFormat( // "[SCENE OBJECT PART]: Scheduling part {0} {1} for full update in aggregateScriptEvents() since m_parentGroup == null", Name, LocalId); //ScheduleFullUpdate(); - ScheduleFullUpdate(new List() { SceneObjectPartSyncProperties.Flags, SceneObjectPartSyncProperties.AggregateScriptEvents}); + ScheduleFullUpdate(new List() { SceneObjectPartSyncProperties.Flags, SceneObjectPartSyncProperties.LocalFlags, + SceneObjectPartSyncProperties.AggregateScriptEvents }); return; }