prevent self call to llSetScriptState(ownname,FALSE) from blocking entire engine

This commit is contained in:
UbitUmarov
2016-11-13 19:25:32 +00:00
parent b6329fb784
commit 4ebb4e371f
4 changed files with 14 additions and 6 deletions

View File

@@ -1854,15 +1854,23 @@ namespace OpenSim.Region.ScriptEngine.XEngine
return instance;
}
public void SetScriptState(UUID itemID, bool running)
public void SetScriptState(UUID itemID, bool running, bool self)
{
IScriptInstance instance = GetInstance(itemID);
if (instance != null)
{
if (running)
instance.Start();
instance.Start();
else
instance.Stop(100);
{
if(self)
{
instance.Running = false;
throw new EventAbortException();
}
else
instance.Stop(100);
}
}
}