diff options
author | Justin Clarke Casey | 2008-11-17 16:06:50 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-11-17 16:06:50 +0000 |
commit | c41903077d2429f2360fe94a6f33ca647addec6b (patch) | |
tree | dbe48090ec2da8e333f64326543379f2830904db | |
parent | * minor: eliminate propogation of now unused permissionToDelete flag (diff) | |
download | opensim-SC_OLD-c41903077d2429f2360fe94a6f33ca647addec6b.zip opensim-SC_OLD-c41903077d2429f2360fe94a6f33ca647addec6b.tar.gz opensim-SC_OLD-c41903077d2429f2360fe94a6f33ca647addec6b.tar.bz2 opensim-SC_OLD-c41903077d2429f2360fe94a6f33ca647addec6b.tar.xz |
* Eliminate SOG.FakeDeleteGroup() since it is now identical with DeleteGroup() (except that is didn't lock the parts, which was a potential race condition)
* Removed fake delete code from LSL_Api.SetFlexi - this code was never activiated anyway and didn't appear to make much sense on the surface
3 files changed, 1 insertions, 47 deletions
diff --git a/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs b/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs index 7ff78a5..b011600 100644 --- a/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs +++ b/OpenSim/Region/Environment/Scenes/AsyncSceneObjectGroupDeleter.cs | |||
@@ -96,7 +96,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
96 | 96 | ||
97 | // Visually remove it, even if it isnt really gone yet. | 97 | // Visually remove it, even if it isnt really gone yet. |
98 | if (permissionToDelete) | 98 | if (permissionToDelete) |
99 | objectGroup.FakeDeleteGroup(); | 99 | objectGroup.DeleteGroup(false); |
100 | } | 100 | } |
101 | 101 | ||
102 | private void InventoryRunDeleteTimer(object sender, ElapsedEventArgs e) | 102 | private void InventoryRunDeleteTimer(object sender, ElapsedEventArgs e) |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 36b4e10..91caada 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -1063,30 +1063,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
1063 | } | 1063 | } |
1064 | } | 1064 | } |
1065 | 1065 | ||
1066 | public void FakeDeleteGroup() | ||
1067 | { | ||
1068 | // If there are any updates queued for this object when the 'fake' delete happens, then make sure | ||
1069 | // that they don't happen, otherwise the deleted objects will reappear | ||
1070 | m_isDeleted = true; | ||
1071 | |||
1072 | DetachFromBackup(); | ||
1073 | |||
1074 | foreach (SceneObjectPart part in m_parts.Values) | ||
1075 | { | ||
1076 | List<ScenePresence> avatars = Scene.GetScenePresences(); | ||
1077 | for (int i = 0; i < avatars.Count; i++) | ||
1078 | { | ||
1079 | if (avatars[i].ParentID == LocalId) | ||
1080 | { | ||
1081 | avatars[i].StandUp(); | ||
1082 | } | ||
1083 | |||
1084 | if (m_rootPart != null && part == m_rootPart) | ||
1085 | avatars[i].ControllingClient.SendKillObject(m_regionHandle, part.LocalId); | ||
1086 | } | ||
1087 | } | ||
1088 | } | ||
1089 | |||
1090 | public void AddScriptLPS(int count) | 1066 | public void AddScriptLPS(int count) |
1091 | { | 1067 | { |
1092 | if (scriptScore + count >= float.MaxValue - count) | 1068 | if (scriptScore + count >= float.MaxValue - count) |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index f8e9e96..40629c6 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -1425,13 +1425,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1425 | if (part == null) | 1425 | if (part == null) |
1426 | return; | 1426 | return; |
1427 | 1427 | ||
1428 | bool needs_fakedelete = false; | ||
1429 | if (flexi) | 1428 | if (flexi) |
1430 | { | 1429 | { |
1431 | if (!part.Shape.FlexiEntry) | ||
1432 | { | ||
1433 | needs_fakedelete = true; | ||
1434 | } | ||
1435 | part.Shape.FlexiEntry = true; // this setting flexi true isn't working, but the below parameters do | 1430 | part.Shape.FlexiEntry = true; // this setting flexi true isn't working, but the below parameters do |
1436 | // work once the prim is already flexi | 1431 | // work once the prim is already flexi |
1437 | part.Shape.FlexiSoftness = softness; | 1432 | part.Shape.FlexiSoftness = softness; |
@@ -1445,23 +1440,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1445 | part.Shape.PathCurve = 0x80; | 1440 | part.Shape.PathCurve = 0x80; |
1446 | 1441 | ||
1447 | } | 1442 | } |
1448 | else | ||
1449 | { | ||
1450 | if (part.Shape.FlexiEntry) | ||
1451 | { | ||
1452 | needs_fakedelete = true; | ||
1453 | } | ||
1454 | part.Shape.FlexiEntry = false; | ||
1455 | } | ||
1456 | |||
1457 | needs_fakedelete = false; | ||
1458 | if (needs_fakedelete) | ||
1459 | { | ||
1460 | if (part.ParentGroup != null) | ||
1461 | { | ||
1462 | part.ParentGroup.FakeDeleteGroup(); | ||
1463 | } | ||
1464 | } | ||
1465 | 1443 | ||
1466 | part.ParentGroup.HasGroupChanged = true; | 1444 | part.ParentGroup.HasGroupChanged = true; |
1467 | part.ScheduleFullUpdate(); | 1445 | part.ScheduleFullUpdate(); |