Mantis#1690. Thank you kindly, Melanie for a patch that:

esets script permissions when a script is recompiled.
0.6.0-stable
Charles Krinke 2008-07-08 15:16:43 +00:00
parent 27e3fee1cd
commit 01904e66f2
2 changed files with 9 additions and 0 deletions

View File

@ -432,6 +432,9 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
IScript s = GetScript(localID, itemID); IScript s = GetScript(localID, itemID);
string script = s.Source; string script = s.Source;
StopScript(localID, itemID); StopScript(localID, itemID);
SceneObjectPart part = World.GetSceneObjectPart(localID);
part.GetInventoryItem(itemID).PermsMask = 0;
part.GetInventoryItem(itemID).PermsGranter = LLUUID.Zero;
StartScript(localID, itemID, script, s.StartParam, false); StartScript(localID, itemID, script, s.StartParam, false);
} }

View File

@ -1375,6 +1375,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine
RemoveState(); RemoveState();
Stop(0); Stop(0);
SceneObjectPart part=m_Engine.World.GetSceneObjectPart(m_LocalID);
part.GetInventoryItem(m_ItemID).PermsMask = 0;
part.GetInventoryItem(m_ItemID).PermsGranter = LLUUID.Zero;
m_Engine.m_AsyncCommands.RemoveScript(m_LocalID, m_ItemID); m_Engine.m_AsyncCommands.RemoveScript(m_LocalID, m_ItemID);
m_EventQueue.Clear(); m_EventQueue.Clear();
m_Script.ResetVars(); m_Script.ResetVars();
@ -1392,6 +1395,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine
RemoveState(); RemoveState();
m_Script.ResetVars(); m_Script.ResetVars();
SceneObjectPart part=m_Engine.World.GetSceneObjectPart(m_LocalID);
part.GetInventoryItem(m_ItemID).PermsMask = 0;
part.GetInventoryItem(m_ItemID).PermsGranter = LLUUID.Zero;
m_Engine.m_AsyncCommands.RemoveScript(m_LocalID, m_ItemID); m_Engine.m_AsyncCommands.RemoveScript(m_LocalID, m_ItemID);
if (m_CurrentEvent != "state_entry") if (m_CurrentEvent != "state_entry")
{ {