fix crash if a cs mod errors in the dispose method
This commit is contained in:
@@ -29,8 +29,17 @@ namespace Barotrauma
|
||||
LoadedMods.Add(this);
|
||||
}
|
||||
|
||||
public void Dispose() {
|
||||
Stop();
|
||||
public void Dispose()
|
||||
{
|
||||
try
|
||||
{
|
||||
Stop();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
GameMain.LuaCs.HandleException(e, null, LuaCsSetup.ExceptionType.CSharp);
|
||||
}
|
||||
|
||||
LoadedMods.Remove(this);
|
||||
IsDisposed = true;
|
||||
}
|
||||
|
||||
@@ -318,9 +318,13 @@ namespace Barotrauma
|
||||
{
|
||||
UserData.UnregisterType(type, true);
|
||||
}
|
||||
foreach (var mod in ACsMod.LoadedMods.ToArray()) mod.Dispose();
|
||||
ACsMod.LoadedMods.Clear();
|
||||
|
||||
foreach (var mod in ACsMod.LoadedMods.ToArray())
|
||||
{
|
||||
mod.Dispose();
|
||||
}
|
||||
|
||||
ACsMod.LoadedMods.Clear();
|
||||
|
||||
if (Thread.CurrentThread == GameMain.MainThread)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user