aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorMelanie2009-12-06 00:02:24 +0000
committerMelanie2009-12-06 02:53:34 +0000
commite3a22ff37da47405d2ad2a656970f501e1a7673c (patch)
treed3e1e83fd11b1a2939007bf22da41f3e38c298a8 /OpenSim/Region/ScriptEngine
parentCause better packing of ObjectProperties (diff)
downloadopensim-SC-e3a22ff37da47405d2ad2a656970f501e1a7673c.zip
opensim-SC-e3a22ff37da47405d2ad2a656970f501e1a7673c.tar.gz
opensim-SC-e3a22ff37da47405d2ad2a656970f501e1a7673c.tar.bz2
opensim-SC-e3a22ff37da47405d2ad2a656970f501e1a7673c.tar.xz
Eliminate multiple updates on link/unlink
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs8
1 files changed, 8 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index d235bac..9a905f1 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3523,6 +3523,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3523 { 3523 {
3524 parentPrim.DelinkFromGroup(part.LocalId, true); 3524 parentPrim.DelinkFromGroup(part.LocalId, true);
3525 } 3525 }
3526 parentPrim.HasGroupChanged = true;
3527 parentPrim.ScheduleGroupForFullUpdate();
3526 parentPrim.TriggerScriptChangedEvent(Changed.LINK); 3528 parentPrim.TriggerScriptChangedEvent(Changed.LINK);
3527 3529
3528 if (parts.Count > 0) 3530 if (parts.Count > 0)
@@ -3534,6 +3536,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3534 part.UpdateFlag = 0; 3536 part.UpdateFlag = 0;
3535 newRoot.ParentGroup.LinkToGroup(part.ParentGroup); 3537 newRoot.ParentGroup.LinkToGroup(part.ParentGroup);
3536 } 3538 }
3539 newRoot.ParentGroup.HasGroupChanged = true;
3540 newRoot.ParentGroup.ScheduleGroupForFullUpdate();
3537 } 3541 }
3538 } 3542 }
3539 else 3543 else
@@ -3542,6 +3546,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3542 return; 3546 return;
3543 3547
3544 parentPrim.DelinkFromGroup(childPrim.LocalId, true); 3548 parentPrim.DelinkFromGroup(childPrim.LocalId, true);
3549 parentPrim.HasGroupChanged = true;
3550 parentPrim.ScheduleGroupForFullUpdate();
3545 parentPrim.TriggerScriptChangedEvent(Changed.LINK); 3551 parentPrim.TriggerScriptChangedEvent(Changed.LINK);
3546 } 3552 }
3547 } 3553 }
@@ -3561,6 +3567,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3561 parentPrim.DelinkFromGroup(part.LocalId, true); 3567 parentPrim.DelinkFromGroup(part.LocalId, true);
3562 parentPrim.TriggerScriptChangedEvent(Changed.LINK); 3568 parentPrim.TriggerScriptChangedEvent(Changed.LINK);
3563 } 3569 }
3570 parentPrim.HasGroupChanged = true;
3571 parentPrim.ScheduleGroupForFullUpdate();
3564 } 3572 }
3565 3573
3566 public LSL_String llGetLinkKey(int linknum) 3574 public LSL_String llGetLinkKey(int linknum)