From bd96f6eac4ad544efb265d7e6bcdb30f99a841c4 Mon Sep 17 00:00:00 2001 From: ocornut Date: Mon, 28 Nov 2022 14:59:13 +0100 Subject: [PATCH] Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919) + Update version marker --- docs/CHANGELOG.txt | 14 ++++++++++++++ imgui.cpp | 2 +- imgui.h | 6 +++--- imgui_demo.cpp | 2 +- imgui_draw.cpp | 7 ++++--- imgui_internal.h | 2 +- imgui_tables.cpp | 2 +- imgui_widgets.cpp | 2 +- 8 files changed, 26 insertions(+), 11 deletions(-) diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index 46f4fde0..123000bb 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -31,12 +31,26 @@ HOW TO UPDATE? - Please report any issue! +----------------------------------------------------------------------- + VERSION 1.89.2 WIP (In Progress) +----------------------------------------------------------------------- + +Breaking changes: + +Other changes: + + - Text: Fixed layouting of wrapped-text block when the last source line is above the + clipping region. Regression added in 1.89. (#5720, #5919) + + ----------------------------------------------------------------------- VERSION 1.89.1 (Released 2022-11-24) ----------------------------------------------------------------------- Decorated log and release notes: https://github.com/ocornut/imgui/releases/tag/v1.89.1 +Other changes: + - Scrolling, Focus: fixed SetKeyboardFocusHere()/SetItemDefaultFocus() during a window-appearing frame (and associated lower-level functions e.g. ScrollToRectEx()) from not centering item. (#5902) - Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code diff --git a/imgui.cpp b/imgui.cpp index d1790390..19b6f770 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.89.1 +// dear imgui, v1.89.2 WIP // (main code and documentation) // Help: diff --git a/imgui.h b/imgui.h index c3dc0ca2..aa58b32c 100644 --- a/imgui.h +++ b/imgui.h @@ -1,4 +1,4 @@ -// dear imgui, v1.89.1 +// dear imgui, v1.89.2 WIP // (headers) // Help: @@ -22,8 +22,8 @@ // Library Version // (Integer encoded as XYYZZ for use in #if preprocessor conditionals, e.g. '#if IMGUI_VERSION_NUM > 12345') -#define IMGUI_VERSION "1.89.1" -#define IMGUI_VERSION_NUM 18910 +#define IMGUI_VERSION "1.89.2 WIP" +#define IMGUI_VERSION_NUM 18911 #define IMGUI_HAS_TABLE /* diff --git a/imgui_demo.cpp b/imgui_demo.cpp index 636c7b87..0e4aa729 100644 --- a/imgui_demo.cpp +++ b/imgui_demo.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.89.1 +// dear imgui, v1.89.2 WIP // (demo code) // Help: diff --git a/imgui_draw.cpp b/imgui_draw.cpp index 1203af8e..03b0e70e 100644 --- a/imgui_draw.cpp +++ b/imgui_draw.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.89.1 +// dear imgui, v1.89.2 WIP // (drawing and font code) /* @@ -3565,17 +3565,18 @@ void ImFont::RenderText(ImDrawList* draw_list, float size, const ImVec2& pos, Im while (y + line_height < clip_rect.y && s < text_end) { const char* line_end = (const char*)memchr(s, '\n', text_end - s); + const char* line_next = line_end ? line_end + 1 : text_end; if (word_wrap_enabled) { // FIXME-OPT: This is not optimal as do first do a search for \n before calling CalcWordWrapPositionA(). // If the specs for CalcWordWrapPositionA() were reworked to optionally return on \n we could combine both. // However it is still better than nothing performing the fast-forward! - s = CalcWordWrapPositionA(scale, s, line_end, wrap_width); + s = CalcWordWrapPositionA(scale, s, line_next, wrap_width); s = CalcWordWrapNextLineStartA(s, text_end); } else { - s = line_end ? line_end + 1 : text_end; + s = line_next; } y += line_height; } diff --git a/imgui_internal.h b/imgui_internal.h index 816141e4..a42fa836 100644 --- a/imgui_internal.h +++ b/imgui_internal.h @@ -1,4 +1,4 @@ -// dear imgui, v1.89.1 +// dear imgui, v1.89.2 WIP // (internal structures/api) // You may use this file to debug, understand or extend ImGui features but we don't provide any guarantee of forward compatibility! diff --git a/imgui_tables.cpp b/imgui_tables.cpp index 503c098e..dab3ae4c 100644 --- a/imgui_tables.cpp +++ b/imgui_tables.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.89.1 +// dear imgui, v1.89.2 WIP // (tables and columns code) /* diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp index 5ecb182e..3c001098 100644 --- a/imgui_widgets.cpp +++ b/imgui_widgets.cpp @@ -1,4 +1,4 @@ -// dear imgui, v1.89.1 +// dear imgui, v1.89.2 WIP // (widgets code) /*