aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
authorMelanie Thielker2008-07-12 00:06:45 +0000
committerMelanie Thielker2008-07-12 00:06:45 +0000
commit746c6fb1a285134b68176d39fe28c90fe861fe2a (patch)
treefed02b7fd3f6102ab08b8eb4b78a7a858bac1558 /OpenSim/Region/ScriptEngine/Shared
parentTrim out nulls from mesh vertex and triangle lists to try and save more memory (diff)
downloadopensim-SC-746c6fb1a285134b68176d39fe28c90fe861fe2a.zip
opensim-SC-746c6fb1a285134b68176d39fe28c90fe861fe2a.tar.gz
opensim-SC-746c6fb1a285134b68176d39fe28c90fe861fe2a.tar.bz2
opensim-SC-746c6fb1a285134b68176d39fe28c90fe861fe2a.tar.xz
Patch #9141 (Mantis #1655)
Untangles llDie handling in XEngine, which resulted in a thread being aborted while executing inside of Scene.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Helpers.cs14
2 files changed, 15 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 4bf3e93..3fbe257 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -637,7 +637,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
637 public void llDie() 637 public void llDie()
638 { 638 {
639 m_host.AddScriptLPS(1); 639 m_host.AddScriptLPS(1);
640 World.DeleteSceneObject(m_host.ParentGroup); 640 throw new SelfDeleteException();
641 } 641 }
642 642
643 public double llGround(LSL_Types.Vector3 offset) 643 public double llGround(LSL_Types.Vector3 offset)
diff --git a/OpenSim/Region/ScriptEngine/Shared/Helpers.cs b/OpenSim/Region/ScriptEngine/Shared/Helpers.cs
index 28a2173..cd1f2c5 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Helpers.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Helpers.cs
@@ -52,6 +52,20 @@ namespace OpenSim.Region.ScriptEngine.Shared
52 } 52 }
53 } 53 }
54 54
55 [Serializable]
56 public class SelfDeleteException : Exception
57 {
58 public SelfDeleteException()
59 {
60 }
61
62 protected SelfDeleteException(
63 SerializationInfo info,
64 StreamingContext context)
65 {
66 }
67 }
68
55 public class DetectParams 69 public class DetectParams
56 { 70 {
57 public DetectParams() 71 public DetectParams()