mirror of
https://github.com/opensim/opensim.git
synced 2026-08-07 09:45:47 +08:00
mantis 3315: change the control of script flag running (needs testing)
This commit is contained in:
@@ -392,6 +392,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
return new ArrayList();
|
||||
}
|
||||
|
||||
item.ScriptRunning = isScriptRunning;
|
||||
AssetBase asset = CreateAsset(item.Name, item.Description, (sbyte)AssetType.LSLText, data, remoteClient.AgentId);
|
||||
AssetService.Store(asset);
|
||||
|
||||
@@ -399,10 +400,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
// "[PRIM INVENTORY]: Stored asset {0} when updating item {1} in prim {2} for {3}",
|
||||
// asset.ID, item.Name, part.Name, remoteClient.Name);
|
||||
|
||||
if (isScriptRunning)
|
||||
{
|
||||
part.Inventory.RemoveScriptInstance(item.ItemID, false);
|
||||
}
|
||||
part.Inventory.RemoveScriptInstance(item.ItemID, false);
|
||||
|
||||
// Update item with new asset
|
||||
item.AssetID = asset.FullID;
|
||||
@@ -412,14 +410,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
part.SendPropertiesToClient(remoteClient);
|
||||
|
||||
// Trigger rerunning of script (use TriggerRezScript event, see RezScript)
|
||||
ArrayList errors = new ArrayList();
|
||||
|
||||
if (isScriptRunning)
|
||||
{
|
||||
// Needs to determine which engine was running it and use that
|
||||
//
|
||||
errors = part.Inventory.CreateScriptInstanceEr(item.ItemID, 0, false, DefaultScriptEngine, 1);
|
||||
}
|
||||
// Needs to determine which engine was running it and use that
|
||||
ArrayList errors = part.Inventory.CreateScriptInstanceEr(item.ItemID, 0, false, DefaultScriptEngine, 1);
|
||||
|
||||
// Tell anyone managing scripts that a script has been reloaded/changed
|
||||
EventManager.TriggerUpdateScript(remoteClient.AgentId, itemId, primId, isScriptRunning, item.AssetID);
|
||||
@@ -2265,13 +2257,11 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
destTaskItem.Name = srcTaskItem.Name;
|
||||
destTaskItem.InvType = srcTaskItem.InvType;
|
||||
destTaskItem.Type = srcTaskItem.Type;
|
||||
destTaskItem.ScriptRunning = running != 0;
|
||||
|
||||
destPart.Inventory.AddInventoryItemExclusive(destTaskItem, false);
|
||||
|
||||
if (running > 0)
|
||||
{
|
||||
destPart.Inventory.CreateScriptInstance(destTaskItem, start_param, false, DefaultScriptEngine, 1);
|
||||
}
|
||||
destPart.Inventory.CreateScriptInstance(destTaskItem, start_param, false, DefaultScriptEngine, 1);
|
||||
|
||||
destPart.ParentGroup.ResumeScripts();
|
||||
|
||||
|
||||
@@ -637,10 +637,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
/// Handle a client request to update the inventory folder
|
||||
/// </summary>
|
||||
///
|
||||
/// FIXME: We call add new inventory folder because in the data layer, we happen to use an SQL REPLACE
|
||||
/// so this will work to rename an existing folder. Needless to say, to rely on this is very confusing,
|
||||
/// and needs to be changed.
|
||||
///
|
||||
/// <param name="remoteClient"></param>
|
||||
/// <param name="folderID"></param>
|
||||
/// <param name="type"></param>
|
||||
|
||||
@@ -78,8 +78,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
{
|
||||
SceneObjectPart[] parts = m_parts.GetArray();
|
||||
for (int i = 0; i < parts.Length; i++)
|
||||
scriptsStarted
|
||||
+= parts[i].Inventory.CreateScriptInstances(startParam, postOnRez, engine, stateSource);
|
||||
scriptsStarted += parts[i].Inventory.CreateScriptInstances(startParam, postOnRez, engine, stateSource);
|
||||
}
|
||||
|
||||
return scriptsStarted;
|
||||
|
||||
@@ -530,10 +530,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
m_part.ParentGroup.Scene.EventManager.TriggerRezScript(
|
||||
m_part.LocalId, itemID, script, startParam, postOnRez, engine, stateSource);
|
||||
StoreScriptErrors(itemID, null);
|
||||
if (!item.ScriptRunning)
|
||||
m_part.ParentGroup.Scene.EventManager.TriggerStopScript(m_part.LocalId, itemID);
|
||||
m_part.ParentGroup.AddActiveScriptCount(1);
|
||||
m_part.ScheduleFullUpdate();
|
||||
//if (item.ScriptRunning)
|
||||
m_part.ParentGroup.AddActiveScriptCount(1);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -316,7 +316,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
if (m_assetUuidsToInspect.Contains(uuid))
|
||||
return false;
|
||||
|
||||
// m_log.DebugFormat("[UUID GATHERER]: Adding asset {0} for inspection", uuid);
|
||||
//m_log.DebugFormat("[UUID GATHERER]: Adding asset {0} for inspection", uuid);
|
||||
|
||||
GatheredUuids[uuid] = type;
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user