aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie2009-12-06 00:02:24 +0000
committerMelanie2009-12-06 02:53:34 +0000
commite3a22ff37da47405d2ad2a656970f501e1a7673c (patch)
treed3e1e83fd11b1a2939007bf22da41f3e38c298a8 /OpenSim/Region
parentCause better packing of ObjectProperties (diff)
downloadopensim-SC_OLD-e3a22ff37da47405d2ad2a656970f501e1a7673c.zip
opensim-SC_OLD-e3a22ff37da47405d2ad2a656970f501e1a7673c.tar.gz
opensim-SC_OLD-e3a22ff37da47405d2ad2a656970f501e1a7673c.tar.bz2
opensim-SC_OLD-e3a22ff37da47405d2ad2a656970f501e1a7673c.tar.xz
Eliminate multiple updates on link/unlink
Diffstat (limited to 'OpenSim/Region')
-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 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)