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) <[email protected]>
This commit is contained in:
Henrik RydgårdandClaude Opus 5 committed 2026-09-04 13:06:24 -06:00
1 parent 050cacbbdf
commit 1c7f393e2b
10 files changed
+29 -15

No files matched your search

+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();