mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 18:25:33 +08:00
Merge branch 'master' into careminster
Conflicts: OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
This commit is contained in:
@@ -111,6 +111,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
STATUS_ROTATE_Z = 0x008,
|
||||
}
|
||||
|
||||
// This flag has the same purpose as InventoryItemFlags.ObjectSlamPerm
|
||||
public static readonly uint SLAM = 16;
|
||||
|
||||
// private PrimCountTaintedDelegate handlerPrimCountTainted = null;
|
||||
|
||||
/// <summary>
|
||||
@@ -3810,13 +3813,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
// needs to be called with phys building true
|
||||
Vector3 oldPos;
|
||||
|
||||
// FIXME: This improves the situation where editing just the root prim of an attached object would send
|
||||
// all the other parts to oblivion after detach/reattach. However, a problem remains since the root prim
|
||||
// still ends up in the wrong position on reattach.
|
||||
if (IsAttachment)
|
||||
oldPos = RootPart.OffsetPosition;
|
||||
oldPos = m_rootPart.AttachedPos + m_rootPart.OffsetPosition; // OffsetPosition should always be 0 in an attachments's root prim
|
||||
else
|
||||
oldPos = AbsolutePosition + RootPart.OffsetPosition;
|
||||
oldPos = AbsolutePosition + m_rootPart.OffsetPosition;
|
||||
|
||||
Vector3 diff = oldPos - newPos;
|
||||
Quaternion partRotation = m_rootPart.RotationOffset;
|
||||
@@ -3831,6 +3831,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
}
|
||||
|
||||
AbsolutePosition = newPos;
|
||||
|
||||
if (IsAttachment)
|
||||
m_rootPart.AttachedPos = newPos;
|
||||
|
||||
HasGroupChanged = true;
|
||||
if (m_rootPart.Undoing)
|
||||
|
||||
Reference in New Issue
Block a user