diff options
Diffstat (limited to 'src/window.cpp')
| -rw-r--r-- | src/window.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/window.cpp b/src/window.cpp index 1c9b070..c825c99 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -32,6 +32,8 @@ DynArray<pke_vkAllocData> *vulkanAllocs = nullptr; const bool ENABLE_VALIDATION_LAYERS = true; const bool VULKAN_DEBUG_REPORT = true; +bool pke_window_did_init_imgui = false; + /* * Initialization */ @@ -2420,6 +2422,7 @@ void CreateImGui() { initInfo.UseDynamicRendering = false; ImGui_ImplVulkan_Init(&initInfo); + pke_window_did_init_imgui = true; // font // { @@ -2806,9 +2809,11 @@ void CreateWindow(PKEWindowProperties wp) { void DestroyWindow() { if (vkInstance == nullptr) return; - ImGui_ImplVulkan_Shutdown(); - ImGui_ImplGlfw_Shutdown(); - ImGui::DestroyContext(); + if (pke_window_did_init_imgui == true) { + ImGui_ImplVulkan_Shutdown(); + ImGui_ImplGlfw_Shutdown(); + ImGui::DestroyContext(); + } DestroySwapchain(); vkDestroyDescriptorPool(vkDevice, pkeDebugHitbox.vkDescriptorPool, vkAllocator); |
