aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMelanie2009-12-06 00:02:24 +0000
committerMelanie2009-12-06 00:02:24 +0000
commitceccfe02d0e25c234560b6ef25306b8db4cd9875 (patch)
tree6f619087a6af3f7a6434696e5990fa91c6872823 /OpenSim
parentCause better packing of ObjectProperties (diff)
downloadopensim-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.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs8
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs8
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)