Browse Source

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

Regression added in 6af92b05b
Dima Koltun 3 years ago
parent
commit
b5b704d376
2 changed files with 4 additions and 1 deletions
  1. 3 0
      docs/CHANGELOG.txt
  2. 1 1
      imgui.cpp

+ 3 - 0
docs/CHANGELOG.txt

@@ -54,6 +54,9 @@ Other Changes:
   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

+ 1 - 1
imgui.cpp

@@ -5339,7 +5339,7 @@ static ImGuiWindow* CreateNewWindow(const char* name, ImGuiWindowFlags flags)
             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)
     {