aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-07-19 04:40:02 +0100
committerJustin Clark-Casey (justincc)2011-07-19 04:40:02 +0100
commitb2722e984ab99deb01d55cd4c4e9f1a7cb563709 (patch)
tree15e96b61923cb69b287d3e1eac314fa9dfee3b64 /OpenSim/Region/Framework/Scenes
parentFix undo of prim group rotation. (diff)
downloadopensim-SC-b2722e984ab99deb01d55cd4c4e9f1a7cb563709.zip
opensim-SC-b2722e984ab99deb01d55cd4c4e9f1a7cb563709.tar.gz
opensim-SC-b2722e984ab99deb01d55cd4c4e9f1a7cb563709.tar.bz2
opensim-SC-b2722e984ab99deb01d55cd4c4e9f1a7cb563709.tar.xz
Fix undo of rotation of single prims in a linkset
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs8
-rw-r--r--OpenSim/Region/Framework/Scenes/UndoState.cs12
2 files changed, 11 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index aa1f7bc..9076d73 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -2991,6 +2991,9 @@ namespace OpenSim.Region.Framework.Scenes
2991// "[SCENE OBJECT GROUP]: Updating single position and rotation of {0} {1} to {2}", 2991// "[SCENE OBJECT GROUP]: Updating single position and rotation of {0} {1} to {2}",
2992// part.Name, part.LocalId, rot); 2992// part.Name, part.LocalId, rot);
2993 2993
2994 part.StoreUndoState();
2995 part.IgnoreUndoUpdate = true;
2996
2994 if (part.UUID == m_rootPart.UUID) 2997 if (part.UUID == m_rootPart.UUID)
2995 { 2998 {
2996 UpdateRootRotation(rot); 2999 UpdateRootRotation(rot);
@@ -2998,12 +3001,11 @@ namespace OpenSim.Region.Framework.Scenes
2998 } 3001 }
2999 else 3002 else
3000 { 3003 {
3001 part.IgnoreUndoUpdate = true;
3002 part.UpdateRotation(rot); 3004 part.UpdateRotation(rot);
3003 part.OffsetPosition = pos; 3005 part.OffsetPosition = pos;
3004 part.IgnoreUndoUpdate = false;
3005 part.StoreUndoState();
3006 } 3006 }
3007
3008 part.IgnoreUndoUpdate = false;
3007 } 3009 }
3008 } 3010 }
3009 3011
diff --git a/OpenSim/Region/Framework/Scenes/UndoState.cs b/OpenSim/Region/Framework/Scenes/UndoState.cs
index 6f6504c..68d4cb4 100644
--- a/OpenSim/Region/Framework/Scenes/UndoState.cs
+++ b/OpenSim/Region/Framework/Scenes/UndoState.cs
@@ -79,17 +79,17 @@ namespace OpenSim.Region.Framework.Scenes
79 } 79 }
80 else 80 else
81 { 81 {
82// m_log.DebugFormat(
83// "[UNDO STATE]: Storing undo position {0} for child part", part.OffsetPosition);
84 Position = part.OffsetPosition; 82 Position = part.OffsetPosition;
83 m_log.DebugFormat(
84 "[UNDO STATE]: Storing undo position {0} for child part", Position);
85 85
86// m_log.DebugFormat(
87// "[UNDO STATE]: Storing undo rotation {0} for child part", part.RotationOffset);
88 Rotation = part.RotationOffset; 86 Rotation = part.RotationOffset;
87 m_log.DebugFormat(
88 "[UNDO STATE]: Storing undo rotation {0} for child part", Rotation);
89 89
90// m_log.DebugFormat(
91// "[UNDO STATE]: Storing undo scale {0} for child part", part.Shape.Scale);
92 Scale = part.Shape.Scale; 90 Scale = part.Shape.Scale;
91 m_log.DebugFormat(
92 "[UNDO STATE]: Storing undo scale {0} for child part", Scale);
93 } 93 }
94 } 94 }
95 } 95 }