From 24525d3d47e2a8feed5ba7d07025ee3d1bb82e72 Mon Sep 17 00:00:00 2001 From: goat <16760685+goaaats@users.noreply.github.com> Date: Mon, 5 Apr 2021 03:59:18 +0200 Subject: [PATCH] fix: crash on game closing, thanks Dragon! --- Dalamud/Game/Internal/Framework.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Dalamud/Game/Internal/Framework.cs b/Dalamud/Game/Internal/Framework.cs index 989278610..cf314ba70 100644 --- a/Dalamud/Game/Internal/Framework.cs +++ b/Dalamud/Game/Internal/Framework.cs @@ -164,11 +164,16 @@ namespace Dalamud.Game.Internal { private IntPtr HandleFrameworkDestroy() { Log.Information("Framework::OnDestroy!"); + + // Store the pointer to the original trampoline location + var originalPtr = Marshal.GetFunctionPointerForDelegate(this.destroyHook.Original); + this.dalamud.Unload(); this.dalamud.WaitForUnloadFinish(); - return this.destroyHook.Original(); + // Return the original trampoline location to cleanly exit + return originalPtr; } } }