From ec48681455694c85982861dfa3f304fd544d3137 Mon Sep 17 00:00:00 2001 From: Dima Koltun Date: Fri, 22 Apr 2022 20:20:40 +0200 Subject: [PATCH] Windows: Fixed first-time windows appearing in negative coordinates. (#5215, #3414) Regression added in 6af92b05b --- docs/CHANGELOG.txt | 3 +++ imgui.cpp | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index e2d27aaa4..945bfbc0a 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -121,6 +121,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 diff --git a/imgui.cpp b/imgui.cpp index 6cf902afe..69e63e63f 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -5611,7 +5611,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) {