diff options
author | Justin Clark-Casey (justincc) | 2011-07-19 04:40:02 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-07-19 04:40:02 +0100 |
commit | b2722e984ab99deb01d55cd4c4e9f1a7cb563709 (patch) | |
tree | 15e96b61923cb69b287d3e1eac314fa9dfee3b64 /OpenSim/Region/Framework/Scenes | |
parent | Fix undo of prim group rotation. (diff) | |
download | opensim-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.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/UndoState.cs | 12 |
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 | } |