diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptManager.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptManager.cs b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptManager.cs index 75ab2aa..99bbdee 100644 --- a/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptManager.cs +++ b/OpenSim/Region/ScriptEngine/Common/ScriptEngineBase/ScriptManager.cs | |||
@@ -432,6 +432,9 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase | |||
432 | IScript s = GetScript(localID, itemID); | 432 | IScript s = GetScript(localID, itemID); |
433 | string script = s.Source; | 433 | string script = s.Source; |
434 | StopScript(localID, itemID); | 434 | StopScript(localID, itemID); |
435 | SceneObjectPart part = World.GetSceneObjectPart(localID); | ||
436 | part.GetInventoryItem(itemID).PermsMask = 0; | ||
437 | part.GetInventoryItem(itemID).PermsGranter = LLUUID.Zero; | ||
435 | StartScript(localID, itemID, script, s.StartParam, false); | 438 | StartScript(localID, itemID, script, s.StartParam, false); |
436 | } | 439 | } |
437 | 440 | ||
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 11b93b4..6372247 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -1375,6 +1375,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1375 | RemoveState(); | 1375 | RemoveState(); |
1376 | 1376 | ||
1377 | Stop(0); | 1377 | Stop(0); |
1378 | SceneObjectPart part=m_Engine.World.GetSceneObjectPart(m_LocalID); | ||
1379 | part.GetInventoryItem(m_ItemID).PermsMask = 0; | ||
1380 | part.GetInventoryItem(m_ItemID).PermsGranter = LLUUID.Zero; | ||
1378 | m_Engine.m_AsyncCommands.RemoveScript(m_LocalID, m_ItemID); | 1381 | m_Engine.m_AsyncCommands.RemoveScript(m_LocalID, m_ItemID); |
1379 | m_EventQueue.Clear(); | 1382 | m_EventQueue.Clear(); |
1380 | m_Script.ResetVars(); | 1383 | m_Script.ResetVars(); |
@@ -1392,6 +1395,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1392 | RemoveState(); | 1395 | RemoveState(); |
1393 | 1396 | ||
1394 | m_Script.ResetVars(); | 1397 | m_Script.ResetVars(); |
1398 | SceneObjectPart part=m_Engine.World.GetSceneObjectPart(m_LocalID); | ||
1399 | part.GetInventoryItem(m_ItemID).PermsMask = 0; | ||
1400 | part.GetInventoryItem(m_ItemID).PermsGranter = LLUUID.Zero; | ||
1395 | m_Engine.m_AsyncCommands.RemoveScript(m_LocalID, m_ItemID); | 1401 | m_Engine.m_AsyncCommands.RemoveScript(m_LocalID, m_ItemID); |
1396 | if (m_CurrentEvent != "state_entry") | 1402 | if (m_CurrentEvent != "state_entry") |
1397 | { | 1403 | { |