diff --git a/backends/imgui_impl_vulkan.cpp b/backends/imgui_impl_vulkan.cpp index 931dcea59..d5883dc33 100644 --- a/backends/imgui_impl_vulkan.cpp +++ b/backends/imgui_impl_vulkan.cpp @@ -2044,7 +2044,10 @@ static void ImGui_ImplVulkan_DestroyWindow(ImGuiViewport* viewport) { ImGui_ImplVulkan_InitInfo* v = &bd->VulkanInitInfo; if (vd->WindowOwned) + { ImGui_ImplVulkanH_DestroyWindow(v->Instance, v->Device, &vd->Window, v->Allocator); + vkDestroySurfaceKHR(v->Instance, vd->Window.Surface, v->Allocator); + } ImGui_ImplVulkan_DestroyWindowRenderBuffers(v->Device, &vd->RenderBuffers, v->Allocator); IM_DELETE(vd); } diff --git a/imgui.cpp b/imgui.cpp index 67fae99fb..5a12f1ecb 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -17137,7 +17137,7 @@ static void ImGui::WindowSelectViewport(ImGuiWindow* window) bool use_mouse_ref = (!g.NavCursorVisible || !g.NavHighlightItemUnderNav || !g.NavWindow); bool mouse_valid = IsMousePosValid(&mouse_ref); if ((window->Appearing || (flags & (ImGuiWindowFlags_Tooltip | ImGuiWindowFlags_ChildMenu))) && (!use_mouse_ref || mouse_valid)) - window->ViewportAllowPlatformMonitorExtend = FindPlatformMonitorForPos((use_mouse_ref && mouse_valid) ? mouse_ref : NavCalcPreferredRefPos()); + window->ViewportAllowPlatformMonitorExtend = FindPlatformMonitorForPos((use_mouse_ref && mouse_valid) ? mouse_ref : NavCalcPreferredRefPos(window->Flags)); else window->ViewportAllowPlatformMonitorExtend = window->Viewport->PlatformMonitor; }