diff options
author | Melanie | 2009-12-06 00:02:24 +0000 |
---|---|---|
committer | Melanie | 2009-12-06 00:02:24 +0000 |
commit | ceccfe02d0e25c234560b6ef25306b8db4cd9875 (patch) | |
tree | 6f619087a6af3f7a6434696e5990fa91c6872823 /OpenSim | |
parent | Cause better packing of ObjectProperties (diff) | |
download | opensim-SC_OLD-ceccfe02d0e25c234560b6ef25306b8db4cd9875.zip opensim-SC_OLD-ceccfe02d0e25c234560b6ef25306b8db4cd9875.tar.gz opensim-SC_OLD-ceccfe02d0e25c234560b6ef25306b8db4cd9875.tar.bz2 opensim-SC_OLD-ceccfe02d0e25c234560b6ef25306b8db4cd9875.tar.xz |
Eliminate multiple updates on link/unlink
Diffstat (limited to 'OpenSim')
-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 ecda80c..fa2e3ce 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -2389,8 +2389,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2389 | // unmoved prims! | 2389 | // unmoved prims! |
2390 | ResetChildPrimPhysicsPositions(); | 2390 | ResetChildPrimPhysicsPositions(); |
2391 | 2391 | ||
2392 | HasGroupChanged = true; | 2392 | //HasGroupChanged = true; |
2393 | ScheduleGroupForFullUpdate(); | 2393 | //ScheduleGroupForFullUpdate(); |
2394 | } | 2394 | } |
2395 | 2395 | ||
2396 | /// <summary> | 2396 | /// <summary> |
@@ -2483,8 +2483,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
2483 | 2483 | ||
2484 | linkPart.Rezzed = RootPart.Rezzed; | 2484 | linkPart.Rezzed = RootPart.Rezzed; |
2485 | 2485 | ||
2486 | HasGroupChanged = true; | 2486 | //HasGroupChanged = true; |
2487 | ScheduleGroupForFullUpdate(); | 2487 | //ScheduleGroupForFullUpdate(); |
2488 | } | 2488 | } |
2489 | 2489 | ||
2490 | /// <summary> | 2490 | /// <summary> |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 267928b..e694f15 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -3588,6 +3588,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3588 | { | 3588 | { |
3589 | parentPrim.DelinkFromGroup(part.LocalId, true); | 3589 | parentPrim.DelinkFromGroup(part.LocalId, true); |
3590 | } | 3590 | } |
3591 | parentPrim.HasGroupChanged = true; | ||
3592 | parentPrim.ScheduleGroupForFullUpdate(); | ||
3591 | parentPrim.TriggerScriptChangedEvent(Changed.LINK); | 3593 | parentPrim.TriggerScriptChangedEvent(Changed.LINK); |
3592 | 3594 | ||
3593 | if (parts.Count > 0) | 3595 | if (parts.Count > 0) |
@@ -3599,6 +3601,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3599 | part.UpdateFlag = 0; | 3601 | part.UpdateFlag = 0; |
3600 | newRoot.ParentGroup.LinkToGroup(part.ParentGroup); | 3602 | newRoot.ParentGroup.LinkToGroup(part.ParentGroup); |
3601 | } | 3603 | } |
3604 | newRoot.ParentGroup.HasGroupChanged = true; | ||
3605 | newRoot.ParentGroup.ScheduleGroupForFullUpdate(); | ||
3602 | } | 3606 | } |
3603 | } | 3607 | } |
3604 | else | 3608 | else |
@@ -3607,6 +3611,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3607 | return; | 3611 | return; |
3608 | 3612 | ||
3609 | parentPrim.DelinkFromGroup(childPrim.LocalId, true); | 3613 | parentPrim.DelinkFromGroup(childPrim.LocalId, true); |
3614 | parentPrim.HasGroupChanged = true; | ||
3615 | parentPrim.ScheduleGroupForFullUpdate(); | ||
3610 | parentPrim.TriggerScriptChangedEvent(Changed.LINK); | 3616 | parentPrim.TriggerScriptChangedEvent(Changed.LINK); |
3611 | } | 3617 | } |
3612 | } | 3618 | } |
@@ -3626,6 +3632,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3626 | parentPrim.DelinkFromGroup(part.LocalId, true); | 3632 | parentPrim.DelinkFromGroup(part.LocalId, true); |
3627 | parentPrim.TriggerScriptChangedEvent(Changed.LINK); | 3633 | parentPrim.TriggerScriptChangedEvent(Changed.LINK); |
3628 | } | 3634 | } |
3635 | parentPrim.HasGroupChanged = true; | ||
3636 | parentPrim.ScheduleGroupForFullUpdate(); | ||
3629 | } | 3637 | } |
3630 | 3638 | ||
3631 | public LSL_String llGetLinkKey(int linknum) | 3639 | public LSL_String llGetLinkKey(int linknum) |