From 03f3c8d385393676eb55c9cb46d73a813134cf35 Mon Sep 17 00:00:00 2001 From: ocornut Date: Thu, 18 Sep 2025 15:22:42 +0200 Subject: [PATCH] Nav: fix crash when NavCalcPreferredRefPos() hit non Mouse case with a null NavWindow (docking branch only). Amend f6890ed00. --- imgui.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/imgui.cpp b/imgui.cpp index 0c635c681..dfd68dfec 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -14149,8 +14149,10 @@ static ImVec2 ImGui::NavCalcPreferredRefPos() ref_rect.Translate(window->Scroll - next_scroll); } ImVec2 pos = ImVec2(ref_rect.Min.x + ImMin(g.Style.FramePadding.x * 4, ref_rect.GetWidth()), ref_rect.Max.y - ImMin(g.Style.FramePadding.y, ref_rect.GetHeight())); - ImGuiViewport* viewport = window->Viewport; - return ImTrunc(ImClamp(pos, viewport->Pos, viewport->Pos + viewport->Size)); // ImTrunc() is important because non-integer mouse position application in backend might be lossy and result in undesirable non-zero delta. + if (window != NULL) + if (ImGuiViewport* viewport = window->Viewport) + pos = ImClamp(pos, viewport->Pos, viewport->Pos + viewport->Size); + return ImTrunc(pos); // ImTrunc() is important because non-integer mouse position application in backend might be lossy and result in undesirable non-zero delta. } }