aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
authorCharles Krinke2008-07-04 00:59:38 +0000
committerCharles Krinke2008-07-04 00:59:38 +0000
commitce5122ebf3077085d1ca6967634b4e0baad94d6c (patch)
treec65aa10649c677a9f2a39421c2c99d5a4857bc63 /OpenSim/Region/ScriptEngine/Shared
parentMantis#1660. Thank you, kindly, Melanie for a patch that: (diff)
downloadopensim-SC-ce5122ebf3077085d1ca6967634b4e0baad94d6c.zip
opensim-SC-ce5122ebf3077085d1ca6967634b4e0baad94d6c.tar.gz
opensim-SC-ce5122ebf3077085d1ca6967634b4e0baad94d6c.tar.bz2
opensim-SC-ce5122ebf3077085d1ca6967634b4e0baad94d6c.tar.xz
Mantis#1659. Thank you, Melanie for a patch that:
In LSL, the state command should have an immediate effect. The OpenSim script engine seems to wait until the function ends to process the state transition.
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.cs15
2 files changed, 17 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 7887515..06f9f3b 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -99,6 +99,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
99 public void state(string newState) 99 public void state(string newState)
100 { 100 {
101 m_ScriptEngine.SetState(m_itemID, newState); 101 m_ScriptEngine.SetState(m_itemID, newState);
102 throw new EventAbortException();
102 } 103 }
103 104
104 public void llSay(int channelID, string text) 105 public void llSay(int channelID, string text)
@@ -2791,6 +2792,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2791 { 2792 {
2792 m_host.AddScriptLPS(1); 2793 m_host.AddScriptLPS(1);
2793 m_ScriptEngine.ApiResetScript(m_itemID); 2794 m_ScriptEngine.ApiResetScript(m_itemID);
2795 throw new EventAbortException();
2794 } 2796 }
2795 2797
2796 public void llMessageLinked(int linknum, int num, string msg, string id) 2798 public void llMessageLinked(int linknum, int num, string msg, string id)
diff --git a/OpenSim/Region/ScriptEngine/Shared/Helpers.cs b/OpenSim/Region/ScriptEngine/Shared/Helpers.cs
index fdd404d..28a2173 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Helpers.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Helpers.cs
@@ -30,6 +30,7 @@ using System.IO;
30using System.Threading; 30using System.Threading;
31using System.Collections; 31using System.Collections;
32using System.Collections.Generic; 32using System.Collections.Generic;
33using System.Runtime.Serialization;
33using libsecondlife; 34using libsecondlife;
34using OpenSim.Framework; 35using OpenSim.Framework;
35using OpenSim.Region.Environment; 36using OpenSim.Region.Environment;
@@ -37,6 +38,20 @@ using OpenSim.Region.Environment.Scenes;
37 38
38namespace OpenSim.Region.ScriptEngine.Shared 39namespace OpenSim.Region.ScriptEngine.Shared
39{ 40{
41 [Serializable]
42 public class EventAbortException : Exception
43 {
44 public EventAbortException()
45 {
46 }
47
48 protected EventAbortException(
49 SerializationInfo info,
50 StreamingContext context)
51 {
52 }
53 }
54
40 public class DetectParams 55 public class DetectParams
41 { 56 {
42 public DetectParams() 57 public DetectParams()