Fix ScriptContext crashing without a WorldLoaded function

This commit is contained in:
abcdefg30
2023-05-21 10:45:54 +02:00
committed by Matthias Mailänder
parent f2b3a9f837
commit b5f5d5f9d5

View File

@@ -284,18 +284,21 @@ namespace OpenRA.Scripting
public void WorldLoaded()
{
if (FatalErrorOccurred)
if (FatalErrorOccurred || runtime.Globals["WorldLoaded"] is not LuaFunction worldLoaded)
return;
try
{
using (var worldLoaded = (LuaFunction)runtime.Globals["WorldLoaded"])
worldLoaded.Call().Dispose();
worldLoaded.Call().Dispose();
}
catch (LuaException e)
{
FatalError(e);
}
finally
{
worldLoaded?.Dispose();
}
}
public void Tick()