aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 6bda61e..447a4fb 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -1724,11 +1724,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1724 { 1724 {
1725 part.UpdateOffSet(new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z)); 1725 part.UpdateOffSet(new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z));
1726 } 1726 }
1727 else 1727 else if (part.ParentGroup.RootPart == part)
1728 { 1728 {
1729 SceneObjectGroup parent = part.ParentGroup; 1729 SceneObjectGroup parent = part.ParentGroup;
1730 parent.UpdateGroupPosition(new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z)); 1730 parent.UpdateGroupPosition(new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z));
1731 } 1731 }
1732 else
1733 {
1734 part.OffsetPosition = new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z);
1735 SceneObjectGroup parent = part.ParentGroup;
1736 parent.HasGroupChanged = true;
1737 parent.ScheduleGroupForTerseUpdate();
1738 }
1732 } 1739 }
1733 1740
1734 public LSL_Vector llGetPos() 1741 public LSL_Vector llGetPos()