Browse Source

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
ocornut 2 years ago
parent
commit
bd96f6eac4
8 changed files with 26 additions and 11 deletions
  1. 14 0
      docs/CHANGELOG.txt
  2. 1 1
      imgui.cpp
  3. 3 3
      imgui.h
  4. 1 1
      imgui_demo.cpp
  5. 4 3
      imgui_draw.cpp
  6. 1 1
      imgui_internal.h
  7. 1 1
      imgui_tables.cpp
  8. 1 1
      imgui_widgets.cpp

+ 14 - 0
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

+ 1 - 1
imgui.cpp

@@ -1,4 +1,4 @@
-// dear imgui, v1.89.1
+// dear imgui, v1.89.2 WIP
 // (main code and documentation)
 
 // Help:

+ 3 - 3
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
 
 /*

+ 1 - 1
imgui_demo.cpp

@@ -1,4 +1,4 @@
-// dear imgui, v1.89.1
+// dear imgui, v1.89.2 WIP
 // (demo code)
 
 // Help:

+ 4 - 3
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;
         }

+ 1 - 1
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!

+ 1 - 1
imgui_tables.cpp

@@ -1,4 +1,4 @@
-// dear imgui, v1.89.1
+// dear imgui, v1.89.2 WIP
 // (tables and columns code)
 
 /*

+ 1 - 1
imgui_widgets.cpp

@@ -1,4 +1,4 @@
-// dear imgui, v1.89.1
+// dear imgui, v1.89.2 WIP
 // (widgets code)
 
 /*