summaryrefslogtreecommitdiff
path: root/src/window.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-01-30 16:26:26 -0500
committerJonathan Bradley <jcb@pikum.xyz>2025-01-30 16:26:33 -0500
commit6b83da3f955adb9067415f26628fb92046cb676a (patch)
tree218d03e67d5afcf07b6bce582f79f67c71bc7924 /src/window.cpp
parentf6fca8225d98f79ee245596e1ff4b1b2309cdb12 (diff)
pke: better imgui teardown handling
Diffstat (limited to 'src/window.cpp')
-rw-r--r--src/window.cpp11
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);