From 8d9deb813835917188df8508a20318ad78fd76de Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Wed, 7 Apr 2021 18:03:02 -0500 Subject: [PATCH] ImGui: couple fixes for different cause of crashes --- src/core/common/video/RenderBase.hpp | 8 ++++++-- src/core/kernel/init/CxbxKrnl.cpp | 7 ++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/core/common/video/RenderBase.hpp b/src/core/common/video/RenderBase.hpp index a1428adbc..1a2485a14 100644 --- a/src/core/common/video/RenderBase.hpp +++ b/src/core/common/video/RenderBase.hpp @@ -31,7 +31,9 @@ public: } void DeviceRelease() { - m_device_release(); + if (m_device_release) { + m_device_release(); + } } void SetWindowRelease(const std::function& func_register) { @@ -39,7 +41,9 @@ public: } void WindowRelease() { - m_window_release(); + if (m_window_release) { + m_window_release(); + } } protected: diff --git a/src/core/kernel/init/CxbxKrnl.cpp b/src/core/kernel/init/CxbxKrnl.cpp index dc63a90ac..72fcd012e 100644 --- a/src/core/kernel/init/CxbxKrnl.cpp +++ b/src/core/kernel/init/CxbxKrnl.cpp @@ -1783,9 +1783,10 @@ void CxbxKrnlShutDown(bool is_reboot) g_VMManager.Shutdown(); // Shutdown the render manager - g_renderbase->Shutdown(); - g_renderbase.release(); - g_renderbase = nullptr; + if (g_renderbase != nullptr) { + g_renderbase->Shutdown(); + g_renderbase = nullptr; + } CxbxUnlockFilePath();