Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414)

Regression added in 6af92b05b
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index 70dc498..e3d262d 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -54,6 +54,9 @@
   Not that even thought you shouldn't need to disable io.ConfigInputTrickleEventQueue, you can
   technically dynamically change its setting based on the context (e.g. disable only when hovering
   or interacting with a game/3D view).
+- Windows: Fixed first-time windows appearing in negative coordinates from being initialized
+  with a wrong size. This would most often be noticeable in multi-viewport mode (docking branch)
+  when spawning a window in a monitor with negative coordinates. (#5215, #3414) [@DimaKoltun]
 - Clipper: Fixed a regression in 1.86 when not calling clipper.End() and late destructing the
   clipper instance. High-level languages (Lua,Rust etc.) would typically be affected. (#4822)
 - Layout: Fixed mixing up SameLine() and SetCursorPos() together from creating situations where line
diff --git a/imgui.cpp b/imgui.cpp
index 3f76dc1..82e72d0 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -5339,7 +5339,7 @@
             SetWindowConditionAllowFlags(window, ImGuiCond_FirstUseEver, false);
             ApplyWindowSettings(window, settings);
         }
-    window->DC.CursorStartPos = window->DC.CursorMaxPos = window->Pos; // So first call to CalcContentSize() doesn't return crazy values
+    window->DC.CursorStartPos = window->DC.CursorMaxPos = window->DC.IdealMaxPos = window->Pos; // So first call to CalcWindowContentSizes() doesn't return crazy values
 
     if ((flags & ImGuiWindowFlags_AlwaysAutoResize) != 0)
     {