Closed metarutaiga closed 5 years ago
Please:
TL;DR; we need more context please.
My recreating method : ImGui_ImplXX_Shutdown(); ImGui_ImplWin32_Shutdown(); ImGui_ImplWin32_Init(hWnd); ImGui_ImplXX_Init(g_instance, 0, g_device);
I don't run ImGui::DestroyContext(); / ImGui::CreateContext(); And the PlatformWindowCreated of main-viewport is initialized in ImGui::CreateContext(); only. So it would be assert the problem.
I think you're hitting the crash that I fixed here: https://github.com/ocornut/imgui/pull/2698, at least I think you're using the vulkan backend, you should include that in reports.
Pushed a fix for this issue. Ideally we may want this field to be set/cleared by the platform back-end. We'll probably refactor this when working on #2471.
Version/Branch of Dear ImGui:
Version: 1.73 Branch: viewport
Back-end/Renderer/Compiler/OS
Back-ends: imgui_impl_win32.cpp Compiler: msvc_v142 Operating System: win10
My Issue/Question:
I implement a graphic library that it can change APIs in runtime. But it always assert when recreating imgui. I modified it below, but it's not a good method. Has any good idea to resolve this assert?
Standalone, minimal, complete and verifiable example: -- ImGuiViewport main_viewport = ImGui::GetMainViewport(); ++ ImGuiViewportP main_viewport = (ImGuiViewportP*)ImGui::GetMainViewport(); ++ main_viewport->PlatformWindowCreated = true;