diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs index 0e905be32b..94479a0e77 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs @@ -292,6 +292,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler public int llListen(int channelID, string name, string ID, string msg) { + if (ID == "") + { + ID = LLUUID.Zero.ToString(); + } IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface(); return wComm.Listen(m_localID, m_itemID, m_host.UUID, channelID, name, ID, msg); } diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs index 0d491742de..6b83dffa98 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs @@ -127,18 +127,16 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine { if (loadQueue.Count == 0 && unloadQueue.Count == 0) Thread.Sleep(scriptLoadUnloadThread_IdleSleepms); - - if (loadQueue.Count > 0) - { - LoadStruct item = loadQueue.Dequeue(); - _StartScript(item.localID, item.itemID, item.script); - } - if (unloadQueue.Count > 0) { UnloadStruct item = unloadQueue.Dequeue(); _StopScript(item.localID, item.itemID); } + if (loadQueue.Count > 0) + { + LoadStruct item = loadQueue.Dequeue(); + _StartScript(item.localID, item.itemID, item.script); + } } } catch (ThreadAbortException tae) @@ -279,13 +277,18 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine try { - - // Compile (We assume LSL) - ScriptSource = LSLCompiler.CompileFromLSLText(Script); - //Console.WriteLine("Compilation of " + FileName + " done"); - // * Insert yield into code - ScriptSource = ProcessYield(ScriptSource); - + if (!Script.EndsWith("dll")) + { + // Compile (We assume LSL) + ScriptSource = LSLCompiler.CompileFromLSLText(Script); + //Console.WriteLine("Compilation of " + FileName + " done"); + // * Insert yield into code + ScriptSource = ProcessYield(ScriptSource); + } + else + { + ScriptSource = Script; + } #if DEBUG long before;