Merge branch 'master' into httptests
Merge branch 'master' into httptests
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index 117d92d..96b8c8b 100755
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -388,19 +388,19 @@ namespace OpenSim.Region.Framework.Scenes
public bool AddNewSceneObject(
SceneObjectGroup sceneObject, bool attachToBackup, Vector3? pos, Quaternion? rot, Vector3 vel)
{
- AddNewSceneObject(sceneObject, attachToBackup, false);
-
if (pos != null)
sceneObject.AbsolutePosition = (Vector3)pos;
+ if (rot != null)
+ sceneObject.UpdateGroupRotationR((Quaternion)rot);
+
+ AddNewSceneObject(sceneObject, attachToBackup, false);
+
if (sceneObject.RootPart.Shape.PCode == (byte)PCode.Prim)
{
sceneObject.ClearPartAttachmentData();
}
- if (rot != null)
- sceneObject.UpdateGroupRotationR((Quaternion)rot);
-
PhysicsActor pa = sceneObject.RootPart.PhysActor;
if (pa != null && pa.IsPhysical && vel != Vector3.Zero)
{
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index d980fe5..61aa915 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -941,20 +941,7 @@ namespace OpenSim.Region.Framework.Scenes
// If this is a root of a linkset, the real rotation is what the physics engine thinks.
// If not a root prim, the offset rotation is computed by SOG and is relative to the root.
if (ParentID == 0 && (Shape.PCode != 9 || Shape.State == 0) && actor != null)
- {
- if (actor.Orientation.X != 0f || actor.Orientation.Y != 0f
- || actor.Orientation.Z != 0f || actor.Orientation.W != 0f)
- {
- m_rotationOffset = actor.Orientation;
- }
- }
-
-// float roll, pitch, yaw = 0;
-// m_rotationOffset.GetEulerAngles(out roll, out pitch, out yaw);
-//
-// m_log.DebugFormat(
-// "[SCENE OBJECT PART]: Got euler {0} for RotationOffset on {1} {2}",
-// new Vector3(roll, pitch, yaw), Name, LocalId);
+ m_rotationOffset = actor.Orientation;
return m_rotationOffset;
}