Misc shutdown fixes

* Destroy the ImGui debugger explicitly, not at static destruction time

* Windows: destroy the debugger windows before NativeShutdown()

* Clear the disassembly cache where it goes stale, not in view destructors
  (behind a no-op stub for libretro, which doesn't build DisassemblyManager.cpp)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Henrik Rydgård
2026-09-04 13:06:24 -06:00
co-authored by Claude Opus 5
parent 050cacbbdf
commit 1c7f393e2b
10 changed files with 29 additions and 15 deletions
+5
View File
@@ -50,6 +50,7 @@
#include "Core/MIPS/MIPS.h"
#include "Core/MIPS/MIPSAnalyst.h"
#include "Core/MIPS/MIPSVFPUUtils.h"
#include "Core/Debugger/DisassemblyManager.h"
#include "Core/Debugger/LineInfo.h"
#include "Core/Debugger/SymbolMap.h"
#include "Core/System.h"
@@ -616,6 +617,10 @@ void CPU_Shutdown(bool success) {
pspFileSystem.Shutdown(); // This unmounts all filesystems.
// Everything the disassembly cache describes - emulated memory and the symbol map - is about
// to go away, so drop it here rather than leaving it to whichever debugger UI closes last.
ClearDisassemblyCache();
mipsr4k.Shutdown();
Memory::Shutdown();
HLEPlugins::Shutdown();