mirror of
https://github.com/opensim/opensim.git
synced 2026-05-15 19:35:41 +08:00
Implement proper persistence of the following prim properties:
Floating text, Rotation, Texture animation, Particle System This will make "Eye Candy" scripts work without modification in XEngine. The use of the CHANGED_REGION_RESTART hack is no longer needed. Implemented in MySQL only, hovertext also in SQLite.
This commit is contained in:
@@ -74,6 +74,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
|
||||
private bool m_InSelfDelete = false;
|
||||
private int m_MaxScriptQueue;
|
||||
private bool m_SaveState = true;
|
||||
private bool m_ShuttingDown = false;
|
||||
|
||||
private Dictionary<string,IScriptApi> m_Apis = new Dictionary<string,IScriptApi>();
|
||||
|
||||
@@ -88,6 +89,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
|
||||
set { m_RunEvents = value; }
|
||||
}
|
||||
|
||||
public bool ShuttingDown
|
||||
{
|
||||
get { return m_ShuttingDown; }
|
||||
set { m_ShuttingDown = value; }
|
||||
}
|
||||
|
||||
public string State
|
||||
{
|
||||
get { return m_State; }
|
||||
@@ -248,7 +255,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
|
||||
|
||||
m_Engine.Log.DebugFormat("[Script] Successfully retrieved state for script {0}.{1}", m_PrimName, m_ScriptName);
|
||||
|
||||
if (m_RunEvents)
|
||||
if (m_RunEvents && (!m_ShuttingDown))
|
||||
{
|
||||
m_RunEvents = false;
|
||||
Start();
|
||||
@@ -517,7 +524,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
|
||||
{
|
||||
lock (m_EventQueue)
|
||||
{
|
||||
if ((m_EventQueue.Count > 0) && m_RunEvents)
|
||||
if ((m_EventQueue.Count > 0) && m_RunEvents && (!m_ShuttingDown))
|
||||
{
|
||||
m_CurrentResult=m_Engine.QueueEventHandler(this);
|
||||
}
|
||||
@@ -564,7 +571,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
|
||||
|
||||
lock (m_EventQueue)
|
||||
{
|
||||
if ((m_EventQueue.Count > 0) && m_RunEvents)
|
||||
if ((m_EventQueue.Count > 0) && m_RunEvents && (!m_ShuttingDown))
|
||||
{
|
||||
m_CurrentResult = m_Engine.QueueEventHandler(this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user