aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorMelanie2012-04-25 19:09:22 +0100
committerMelanie2012-04-25 19:09:22 +0100
commit88553bb884c5c8849ec61362e65fe0950c1e3080 (patch)
treecea887a9eec906ada9c7eaa273c354761bcc1bbe /OpenSim/Region/ScriptEngine
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-SC_OLD-88553bb884c5c8849ec61362e65fe0950c1e3080.zip
opensim-SC_OLD-88553bb884c5c8849ec61362e65fe0950c1e3080.tar.gz
opensim-SC_OLD-88553bb884c5c8849ec61362e65fe0950c1e3080.tar.bz2
opensim-SC_OLD-88553bb884c5c8849ec61362e65fe0950c1e3080.tar.xz
Port Avination link order to make OpenSim behave like SL. Make Primstar scripts work. Fixes Mantis #5990
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs12
1 files changed, 7 insertions, 5 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index d4c872c..d641958 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -832,8 +832,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
832 832
833 public void llRegionSayTo(string target, int channel, string msg) 833 public void llRegionSayTo(string target, int channel, string msg)
834 { 834 {
835 string error = String.Empty;
836
837 if (msg.Length > 1023) 835 if (msg.Length > 1023)
838 msg = msg.Substring(0, 1023); 836 msg = msg.Substring(0, 1023);
839 837
@@ -3548,7 +3546,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3548 public void llCreateLink(string target, int parent) 3546 public void llCreateLink(string target, int parent)
3549 { 3547 {
3550 m_host.AddScriptLPS(1); 3548 m_host.AddScriptLPS(1);
3551
3552 UUID targetID; 3549 UUID targetID;
3553 3550
3554 if (!UUID.TryParse(target, out targetID)) 3551 if (!UUID.TryParse(target, out targetID))
@@ -3572,11 +3569,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3572 3569
3573 if (targetPart.ParentGroup.AttachmentPoint != 0) 3570 if (targetPart.ParentGroup.AttachmentPoint != 0)
3574 return; // Fail silently if attached 3571 return; // Fail silently if attached
3572
3573 if (targetPart.ParentGroup.RootPart.OwnerID != m_host.ParentGroup.RootPart.OwnerID)
3574 return;
3575
3575 SceneObjectGroup parentPrim = null, childPrim = null; 3576 SceneObjectGroup parentPrim = null, childPrim = null;
3576 3577
3577 if (targetPart != null) 3578 if (targetPart != null)
3578 { 3579 {
3579 if (parent != 0) { 3580 if (parent != 0)
3581 {
3580 parentPrim = m_host.ParentGroup; 3582 parentPrim = m_host.ParentGroup;
3581 childPrim = targetPart.ParentGroup; 3583 childPrim = targetPart.ParentGroup;
3582 } 3584 }
@@ -3588,7 +3590,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3588 3590
3589 // Required for linking 3591 // Required for linking
3590 childPrim.RootPart.ClearUpdateSchedule(); 3592 childPrim.RootPart.ClearUpdateSchedule();
3591 parentPrim.LinkToGroup(childPrim); 3593 parentPrim.LinkToGroup(childPrim, true);
3592 } 3594 }
3593 3595
3594 parentPrim.TriggerScriptChangedEvent(Changed.LINK); 3596 parentPrim.TriggerScriptChangedEvent(Changed.LINK);