mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-09-07 13:13:24 +02:00
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:
co-authored by
Claude Opus 5
parent
050cacbbdf
commit
1c7f393e2b
@@ -1046,7 +1046,13 @@ void NativeShutdownGraphics(GraphicsContext *graphicsContext) {
|
||||
}
|
||||
ImGui_ImplThin3d_DestroyDeviceObjects();
|
||||
ImGui_ImplThin3d_Shutdown();
|
||||
// Destroy the debugger here, while the things it refers to are still alive. If left to
|
||||
// static destruction, ~ImDisasmView runs after Core's globals are gone and its
|
||||
// g_disassemblyManager.clear() walks a destroyed map (and locks a destroyed mutex).
|
||||
imDebugger_.reset();
|
||||
ImGui::DestroyContext(ctx_);
|
||||
ctx_ = nullptr;
|
||||
imguiInited_ = false;
|
||||
}
|
||||
|
||||
#if PPSSPP_PLATFORM(WINDOWS) && !PPSSPP_PLATFORM(UWP)
|
||||
|
||||
Reference in New Issue
Block a user