Fix undo of rotation of single prims in a linkset

bulletsim
Justin Clark-Casey (justincc) 2011-07-19 04:40:02 +01:00
parent 97f1edfd95
commit b2722e984a
2 changed files with 11 additions and 9 deletions

View File

@ -2991,6 +2991,9 @@ namespace OpenSim.Region.Framework.Scenes
// "[SCENE OBJECT GROUP]: Updating single position and rotation of {0} {1} to {2}", // "[SCENE OBJECT GROUP]: Updating single position and rotation of {0} {1} to {2}",
// part.Name, part.LocalId, rot); // part.Name, part.LocalId, rot);
part.StoreUndoState();
part.IgnoreUndoUpdate = true;
if (part.UUID == m_rootPart.UUID) if (part.UUID == m_rootPart.UUID)
{ {
UpdateRootRotation(rot); UpdateRootRotation(rot);
@ -2998,12 +3001,11 @@ namespace OpenSim.Region.Framework.Scenes
} }
else else
{ {
part.IgnoreUndoUpdate = true;
part.UpdateRotation(rot); part.UpdateRotation(rot);
part.OffsetPosition = pos; part.OffsetPosition = pos;
part.IgnoreUndoUpdate = false;
part.StoreUndoState();
} }
part.IgnoreUndoUpdate = false;
} }
} }

View File

@ -79,17 +79,17 @@ namespace OpenSim.Region.Framework.Scenes
} }
else else
{ {
// m_log.DebugFormat(
// "[UNDO STATE]: Storing undo position {0} for child part", part.OffsetPosition);
Position = part.OffsetPosition; Position = part.OffsetPosition;
m_log.DebugFormat(
"[UNDO STATE]: Storing undo position {0} for child part", Position);
// m_log.DebugFormat(
// "[UNDO STATE]: Storing undo rotation {0} for child part", part.RotationOffset);
Rotation = part.RotationOffset; Rotation = part.RotationOffset;
m_log.DebugFormat(
"[UNDO STATE]: Storing undo rotation {0} for child part", Rotation);
// m_log.DebugFormat(
// "[UNDO STATE]: Storing undo scale {0} for child part", part.Shape.Scale);
Scale = part.Shape.Scale; Scale = part.Shape.Scale;
m_log.DebugFormat(
"[UNDO STATE]: Storing undo scale {0} for child part", Scale);
} }
} }
} }