From 393451eed5b1bec3416ff56560b21bce542ff40c Mon Sep 17 00:00:00 2001 From: WerWolv Date: Fri, 22 Aug 2025 18:16:25 +0200 Subject: [PATCH] fix: Crash with libgl getting unloaded twice --- .../imgui/backend/include/imgui_impl_opengl3_loader.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/third_party/imgui/backend/include/imgui_impl_opengl3_loader.h b/lib/third_party/imgui/backend/include/imgui_impl_opengl3_loader.h index 6b75a2ca6..d0a8cb0d0 100644 --- a/lib/third_party/imgui/backend/include/imgui_impl_opengl3_loader.h +++ b/lib/third_party/imgui/backend/include/imgui_impl_opengl3_loader.h @@ -6451,7 +6451,13 @@ static int open_libgl(void) return GL3W_OK; } -static void close_libgl(void) { dlclose(libgl); } +static void close_libgl(void) { + if (!libgl) + return; + + dlclose(libgl); + libgl = NULL; +} static GL3WglProc get_proc(const char *proc) { @@ -6496,6 +6502,7 @@ int imgl3wInit2(GL3WGetProcAddressProc proc) void imgl3wShutdown(void) { close_libgl(); + gl3wProcs = {}; } int imgl3wIsSupported(int major, int minor)