2
0
Эх сурвалжийг харах

Fixes crash introduced in previous commit 9cf94d5.

omar 7 жил өмнө
parent
commit
ede3a3b92d
2 өөрчлөгдсөн 6 нэмэгдсэн , 5 устгасан
  1. 4 4
      imgui_draw.cpp
  2. 2 1
      imgui_widgets.cpp

+ 4 - 4
imgui_draw.cpp

@@ -2648,9 +2648,8 @@ void ImFont::RenderText(ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col
     if (y + line_height < clip_rect.y && !word_wrap_enabled)
         while (y + line_height < clip_rect.y && s < text_end)
         {
-            s = (const char*)memchr(s, '\n', text_end - s) + 1;
-            if (s == NULL)
-                s = text_end;
+            s = (const char*)memchr(s, '\n', text_end - s);
+            s = s ? s + 1 : text_end;
             y += line_height;
         }
 
@@ -2662,7 +2661,8 @@ void ImFont::RenderText(ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col
         float y_end = y;
         while (y_end < clip_rect.w && s_end < text_end)
         {
-            s_end = (const char*)memchr(s_end, '\n', text_end - s_end) + 1;
+            s_end = (const char*)memchr(s_end, '\n', text_end - s_end);
+            s = s ? s + 1 : text_end;
             y_end += line_height;
         }
         text_end = s_end;

+ 2 - 1
imgui_widgets.cpp

@@ -3691,7 +3691,8 @@ bool ImGui::InputTextEx(const char* label, char* buf, int buf_size, const ImVec2
                     break;
                 if (rect_pos.y < clip_rect.y)
                 {
-                    p = (const ImWchar*)wmemchr((const wchar_t*)p, '\n', text_selected_end - p) + 1;
+                    p = (const ImWchar*)wmemchr((const wchar_t*)p, '\n', text_selected_end - p);
+                    p = p ? p + 1 : text_selected_end;
                 }
                 else
                 {