diff options
Port Avination link order to make OpenSim behave like SL. Make Primstar scripts work. Fixes Mantis #5990
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 12 |
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); |