aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorCharles Krinke2008-10-08 01:49:58 +0000
committerCharles Krinke2008-10-08 01:49:58 +0000
commite4fc55f71ef5e76bf267f91a9e34d669e24d8c80 (patch)
tree0fdef5df2ed0b99185303f615bda33615dd0e340 /OpenSim/Region
parentMantis#1906. Thank you kindly, Idb for a patch that: (diff)
downloadopensim-SC-e4fc55f71ef5e76bf267f91a9e34d669e24d8c80.zip
opensim-SC-e4fc55f71ef5e76bf267f91a9e34d669e24d8c80.tar.gz
opensim-SC-e4fc55f71ef5e76bf267f91a9e34d669e24d8c80.tar.bz2
opensim-SC-e4fc55f71ef5e76bf267f91a9e34d669e24d8c80.tar.xz
Mantis#2352. Thank you kindly, Jonc for a patch that:
If prim is part of SOG, then ask the SOG to update the position, rather than asking the part itself. Ghosted child prims should no longer result from llSetPos. Not sure if this is the right approach for all cases , would appreciate feedback on the patch.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs6
1 files changed, 4 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index cc22994..a33b5cf 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -1718,14 +1718,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1718 { 1718 {
1719 targetPos = currentPos + m_ScriptDistanceFactor * 10.0f * llVecNorm(targetPos - currentPos); 1719 targetPos = currentPos + m_ScriptDistanceFactor * 10.0f * llVecNorm(targetPos - currentPos);
1720 } 1720 }
1721
1721 1722
1722 if (part.ParentID != 0) 1723 if (part.ParentGroup == null)
1723 { 1724 {
1724 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));
1725 } 1726 }
1726 else 1727 else
1727 { 1728 {
1728 part.UpdateGroupPosition(new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z)); 1729 SceneObjectGroup parent = part.ParentGroup;
1730 parent.UpdateGroupPosition(new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z));
1729 } 1731 }
1730 } 1732 }
1731 1733