aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs15
1 files changed, 6 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index be8a6c9..b8bd9b4 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -1241,6 +1241,7 @@ namespace OpenSim.Region.Framework.Scenes
1241 { 1241 {
1242 lock (m_targets) 1242 lock (m_targets)
1243 m_targets.Clear(); 1243 m_targets.Clear();
1244 m_scene.RemoveGroupTarget(this);
1244 } 1245 }
1245 1246
1246 ScheduleGroupForFullUpdate(); 1247 ScheduleGroupForFullUpdate();
@@ -1871,12 +1872,6 @@ namespace OpenSim.Region.Framework.Scenes
1871 m_rootPart.UpdateFlag = 1; 1872 m_rootPart.UpdateFlag = 1;
1872 lastPhysGroupPos = AbsolutePosition; 1873 lastPhysGroupPos = AbsolutePosition;
1873 } 1874 }
1874 //foreach (SceneObjectPart part in m_parts.Values)
1875 //{
1876 //if (part.UpdateFlag == 0) part.UpdateFlag = 1;
1877 //}
1878
1879 checkAtTargets();
1880 1875
1881 if (UsePhysics && ((Math.Abs(lastPhysGroupRot.W - GroupRotation.W) > 0.1) 1876 if (UsePhysics && ((Math.Abs(lastPhysGroupRot.W - GroupRotation.W) > 0.1)
1882 || (Math.Abs(lastPhysGroupRot.X - GroupRotation.X) > 0.1) 1877 || (Math.Abs(lastPhysGroupRot.X - GroupRotation.X) > 0.1)
@@ -3126,6 +3121,7 @@ namespace OpenSim.Region.Framework.Scenes
3126 { 3121 {
3127 m_targets.Add(handle, waypoint); 3122 m_targets.Add(handle, waypoint);
3128 } 3123 }
3124 m_scene.AddGroupTarget(this);
3129 return (int)handle; 3125 return (int)handle;
3130 } 3126 }
3131 3127
@@ -3133,12 +3129,13 @@ namespace OpenSim.Region.Framework.Scenes
3133 { 3129 {
3134 lock (m_targets) 3130 lock (m_targets)
3135 { 3131 {
3136 if (m_targets.ContainsKey((uint)handle)) 3132 m_targets.Remove((uint)handle);
3137 m_targets.Remove((uint)handle); 3133 if (m_targets.Count == 0)
3134 m_scene.RemoveGroupTarget(this);
3138 } 3135 }
3139 } 3136 }
3140 3137
3141 private void checkAtTargets() 3138 public void checkAtTargets()
3142 { 3139 {
3143 if (m_scriptListens_atTarget || m_scriptListens_notAtTarget) 3140 if (m_scriptListens_atTarget || m_scriptListens_notAtTarget)
3144 { 3141 {