aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/XEngine
diff options
context:
space:
mode:
authorUbitUmarov2016-11-13 19:25:32 +0000
committerUbitUmarov2016-11-13 19:25:32 +0000
commit4ebb4e371f44e8e8e9612d8e5eaab274263a2f89 (patch)
treec75bff69455874986336abc26c9cbaf4a5339f6f /OpenSim/Region/ScriptEngine/XEngine
parentmantis 8055: fix default value of npc options (diff)
downloadopensim-SC-4ebb4e371f44e8e8e9612d8e5eaab274263a2f89.zip
opensim-SC-4ebb4e371f44e8e8e9612d8e5eaab274263a2f89.tar.gz
opensim-SC-4ebb4e371f44e8e8e9612d8e5eaab274263a2f89.tar.bz2
opensim-SC-4ebb4e371f44e8e8e9612d8e5eaab274263a2f89.tar.xz
prevent self call to llSetScriptState(ownname,FALSE) from blocking entire engine
Diffstat (limited to '')
-rwxr-xr-xOpenSim/Region/ScriptEngine/XEngine/XEngine.cs14
1 files changed, 11 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index e12f850..7822df9 100755
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -1854,15 +1854,23 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1854 return instance; 1854 return instance;
1855 } 1855 }
1856 1856
1857 public void SetScriptState(UUID itemID, bool running) 1857 public void SetScriptState(UUID itemID, bool running, bool self)
1858 { 1858 {
1859 IScriptInstance instance = GetInstance(itemID); 1859 IScriptInstance instance = GetInstance(itemID);
1860 if (instance != null) 1860 if (instance != null)
1861 { 1861 {
1862 if (running) 1862 if (running)
1863 instance.Start(); 1863 instance.Start();
1864 else 1864 else
1865 instance.Stop(100); 1865 {
1866 if(self)
1867 {
1868 instance.Running = false;
1869 throw new EventAbortException();
1870 }
1871 else
1872 instance.Stop(100);
1873 }
1866 } 1874 }
1867 } 1875 }
1868 1876