diff options
author | Melanie | 2009-12-06 00:02:24 +0000 |
---|---|---|
committer | Melanie | 2009-12-06 02:53:34 +0000 |
commit | e3a22ff37da47405d2ad2a656970f501e1a7673c (patch) | |
tree | d3e1e83fd11b1a2939007bf22da41f3e38c298a8 /OpenSim/Region | |
parent | Cause better packing of ObjectProperties (diff) | |
download | opensim-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')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneGraph.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 8 |
3 files changed, 14 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index 2fdb48d..d87e814 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs | |||
@@ -1593,6 +1593,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
1593 | // occur on link to invoke this elsewhere (such as object selection) | 1593 | // occur on link to invoke this elsewhere (such as object selection) |
1594 | parentGroup.RootPart.AddFlag(PrimFlags.CreateSelected); | 1594 | parentGroup.RootPart.AddFlag(PrimFlags.CreateSelected); |
1595 | parentGroup.TriggerScriptChangedEvent(Changed.LINK); | 1595 | parentGroup.TriggerScriptChangedEvent(Changed.LINK); |
1596 | parentGroup.HasGroupChanged = true; | ||
1597 | parentGroup.ScheduleGroupForFullUpdate(); | ||
1596 | 1598 | ||
1597 | if (client != null) | 1599 | if (client != null) |
1598 | { | 1600 | { |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 6badaf5..6170caa 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -2207,8 +2207,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2207 | // unmoved prims! | 2207 | // unmoved prims! |
2208 | ResetChildPrimPhysicsPositions(); | 2208 | ResetChildPrimPhysicsPositions(); |
2209 | 2209 | ||
2210 | HasGroupChanged = true; | 2210 | //HasGroupChanged = true; |
2211 | ScheduleGroupForFullUpdate(); | 2211 | //ScheduleGroupForFullUpdate(); |
2212 | } | 2212 | } |
2213 | 2213 | ||
2214 | /// <summary> | 2214 | /// <summary> |
@@ -2299,8 +2299,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2299 | 2299 | ||
2300 | linkPart.Rezzed = RootPart.Rezzed; | 2300 | linkPart.Rezzed = RootPart.Rezzed; |
2301 | 2301 | ||
2302 | HasGroupChanged = true; | 2302 | //HasGroupChanged = true; |
2303 | ScheduleGroupForFullUpdate(); | 2303 | //ScheduleGroupForFullUpdate(); |
2304 | } | 2304 | } |
2305 | 2305 | ||
2306 | /// <summary> | 2306 | /// <summary> |
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) |