浏览代码

WIP Backends: SDLRenderer3: fix for imgui_impl_sdl3 backend change storing WindowID instead of pointer in PlatformHandle.

ocornut 10 月之前
父节点
当前提交
1da3884e99
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      backends/imgui_impl_sdlrenderer3.cpp

+ 2 - 1
backends/imgui_impl_sdlrenderer3.cpp

@@ -338,7 +338,8 @@ static void ImGui_ImplSDLRenderer3_CreateWindow(ImGuiViewport* viewport)
     ImGui_ImplSDLRenderer3_ViewportData* vd = IM_NEW(ImGui_ImplSDLRenderer3_ViewportData)();
     ImGui_ImplSDLRenderer3_ViewportData* vd = IM_NEW(ImGui_ImplSDLRenderer3_ViewportData)();
     viewport->RendererUserData = vd;
     viewport->RendererUserData = vd;
 
 
-    SDL_Window* window = (SDL_Window*)viewport->PlatformHandle;
+    SDL_WindowID window_id = (SDL_WindowID)(intptr_t)viewport->PlatformHandle;
+    SDL_Window* window = SDL_GetWindowFromID(window_id);
     vd->Renderer = SDL_CreateRenderer(window, nullptr);
     vd->Renderer = SDL_CreateRenderer(window, nullptr);
     SDL_SetRenderVSync(vd->Renderer, 0);
     SDL_SetRenderVSync(vd->Renderer, 0);
     IM_ASSERT(vd->Renderer != NULL);
     IM_ASSERT(vd->Renderer != NULL);