mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 14:16:07 +08:00
When the user stops a script, have it remain stopped
Previously the script state was never saved for a !Running script, so upon region restart the script would be Running again. The use of the 'StayStopped' flag is needed because all scripts are automatically stopped when the region shuts down, but in that case we shouldn't save in their state that they're !Running.
This commit is contained in:
@@ -699,6 +699,8 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||
{
|
||||
if (instance.Running)
|
||||
{
|
||||
instance.StayStopped = true; // the script was stopped explicitly
|
||||
|
||||
instance.Stop(0);
|
||||
|
||||
SceneObjectPart sop = m_Scene.GetSceneObjectPart(instance.ObjectID);
|
||||
@@ -1914,6 +1916,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||
|
||||
if (instance != null)
|
||||
{
|
||||
lock (instance.EventQueue)
|
||||
instance.StayStopped = true; // the script was stopped explicitly
|
||||
|
||||
instance.Stop(m_WaitForEventCompletionOnScriptStop);
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user