diff --git a/OpenSim/Region/Environment/PermissionManager.cs b/OpenSim/Region/Environment/PermissionManager.cs index a6acca75aa..27ec9d15d8 100644 --- a/OpenSim/Region/Environment/PermissionManager.cs +++ b/OpenSim/Region/Environment/PermissionManager.cs @@ -401,7 +401,7 @@ namespace OpenSim.Region.Environment permission = true; // Locked - if ((task.RootPart.OwnerMask & PERM_LOCKED) != 0) + if ((task.RootPart.OwnerMask & PERM_LOCKED) == 0) permission = false; } diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index 612cca47be..f9259551ae 100644 --- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs @@ -1038,6 +1038,8 @@ namespace OpenSim.Region.ScriptEngine.Common { m_host.AddScriptLPS(1); m_host.UpdateRotation(new LLQuaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s)); + // Update rotation does not move the object in the physics scene if it's a linkset. + m_host.ParentGroup.AbsolutePosition = m_host.ParentGroup.AbsolutePosition; } public LSL_Types.Quaternion llGetRot()