aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/UndoState.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/UndoState.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/UndoState.cs7
1 files changed, 3 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/UndoState.cs b/OpenSim/Region/Framework/Scenes/UndoState.cs
index ad05351..f9601e6 100644
--- a/OpenSim/Region/Framework/Scenes/UndoState.cs
+++ b/OpenSim/Region/Framework/Scenes/UndoState.cs
@@ -68,7 +68,7 @@ namespace OpenSim.Region.Framework.Scenes
68 //FUBAR WARNING: Do NOT get the group's absoluteposition here 68 //FUBAR WARNING: Do NOT get the group's absoluteposition here
69 //or you'll experience a loop and/or a stack issue 69 //or you'll experience a loop and/or a stack issue
70 GroupPosition = part.ParentGroup.RootPart.AbsolutePosition; 70 GroupPosition = part.ParentGroup.RootPart.AbsolutePosition;
71 GroupRotation = part.ParentGroup.Rotation; 71 GroupRotation = part.ParentGroup.GroupRotation;
72 Position = part.ParentGroup.RootPart.AbsolutePosition; 72 Position = part.ParentGroup.RootPart.AbsolutePosition;
73 Rotation = part.RotationOffset; 73 Rotation = part.RotationOffset;
74 Scale = part.Shape.Scale; 74 Scale = part.Shape.Scale;
@@ -98,7 +98,6 @@ namespace OpenSim.Region.Framework.Scenes
98 } 98 }
99 if ((Type & UndoType.STATE_GROUP_SCALE) == 0 || ((last.Type & UndoType.STATE_GROUP_SCALE) >= (Type & UndoType.STATE_GROUP_SCALE))) 99 if ((Type & UndoType.STATE_GROUP_SCALE) == 0 || ((last.Type & UndoType.STATE_GROUP_SCALE) >= (Type & UndoType.STATE_GROUP_SCALE)))
100 { 100 {
101 Console.WriteLine("Setting groupscale to " + last.GroupScale.ToString());
102 GroupScale = last.GroupScale; 101 GroupScale = last.GroupScale;
103 Scale = last.Scale; 102 Scale = last.Scale;
104 } 103 }
@@ -184,7 +183,7 @@ namespace OpenSim.Region.Framework.Scenes
184 if (GroupChange) 183 if (GroupChange)
185 { 184 {
186 part.ParentGroup.RootPart.Undoing = true; 185 part.ParentGroup.RootPart.Undoing = true;
187 if (Position != Vector3.Zero) 186 if (GroupPosition != Vector3.Zero)
188 { 187 {
189 //Calculate the scale... 188 //Calculate the scale...
190 Vector3 gs = part.Shape.Scale; 189 Vector3 gs = part.Shape.Scale;
@@ -193,7 +192,7 @@ namespace OpenSim.Region.Framework.Scenes
193 //Scale first since it can affect our position 192 //Scale first since it can affect our position
194 part.ParentGroup.GroupResize(gs * scale, part.LocalId); 193 part.ParentGroup.GroupResize(gs * scale, part.LocalId);
195 part.ParentGroup.AbsolutePosition = GroupPosition; 194 part.ParentGroup.AbsolutePosition = GroupPosition;
196 part.ParentGroup.Rotation = GroupRotation; 195 part.ParentGroup.UpdateGroupRotationR(GroupRotation);
197 196
198 } 197 }
199 part.ParentGroup.RootPart.Undoing = false; 198 part.ParentGroup.RootPart.Undoing = false;