diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-01-30 16:26:26 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-01-30 16:26:33 -0500 |
| commit | 6b83da3f955adb9067415f26628fb92046cb676a (patch) | |
| tree | 218d03e67d5afcf07b6bce582f79f67c71bc7924 /src/window.cpp | |
| parent | f6fca8225d98f79ee245596e1ff4b1b2309cdb12 (diff) | |
pke: better imgui teardown handling
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); |
