diff options
author | Melanie Thielker | 2008-07-12 00:06:45 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-07-12 00:06:45 +0000 |
commit | 746c6fb1a285134b68176d39fe28c90fe861fe2a (patch) | |
tree | fed02b7fd3f6102ab08b8eb4b78a7a858bac1558 /OpenSim/Region/ScriptEngine/Shared | |
parent | Trim out nulls from mesh vertex and triangle lists to try and save more memory (diff) | |
download | opensim-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.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Helpers.cs | 14 |
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() |