From 994d70f9d82b68291ef7b34f064cc0d736a93914 Mon Sep 17 00:00:00 2001 From: "Huaiyu (Kitty) Liu" Date: Tue, 28 Dec 2010 17:11:30 -0800 Subject: [PATCH] Code good for script engine and Scene to sync on majority object operations: e.g. script execution, editing objects, reloading oar file on Scene (but terrian not updated correctly to the debugging viewer of script engine), rezing objects by scripts, deleting objects. --- OpenSim/Region/Framework/Scenes/SceneGraph.cs | 11 +++++++++++ OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index bb6be976a6..46540b8b8a 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs @@ -455,7 +455,10 @@ namespace OpenSim.Region.Framework.Scenes protected internal void AddToUpdateList(SceneObjectGroup obj) { lock (m_updateList) + { m_updateList[obj.UUID] = obj; + m_log.Debug("added " + obj.UUID + " to m_updateList"); + } } /// @@ -474,6 +477,13 @@ namespace OpenSim.Region.Framework.Scenes lock (m_updateList) { updates = new List(m_updateList.Values); + + if (updates.Count > 0) + { + m_log.Debug("SceneGraph: " + updates.Count + " objects to send updates for"); + } + + m_updateList.Clear(); } @@ -1950,6 +1960,7 @@ namespace OpenSim.Region.Framework.Scenes } else { + m_log.Debug("AddSceneObjectByStateSynch to be called"); AddSceneObjectByStateSynch(updatedSog); return Scene.ObjectUpdateResult.New; } diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 804380c564..178f2b7e71 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -5087,7 +5087,7 @@ namespace OpenSim.Region.Framework.Scenes /// public void ScheduleFullUpdate_SyncInfoUnchanged() { - // m_log.DebugFormat("[SCENE OBJECT PART]: Scheduling full update for {0} {1}", Name, LocalId); + m_log.DebugFormat("[SCENE OBJECT PART]: ScheduleFullUpdate_SyncInfoUnchanged for {0} {1}", Name, LocalId); if (m_parentGroup != null) {