Bladeren bron

InputText: fix for InsertChars() to work on read-only buffer. (#8714, #8689, #8242)

Ill defined feature but memory editor use InsertChars etc on a read-only buffer.
`if (init_state)` block of InputTextEx() intentionally does not resize TextA, as unneeded.
Amend b2c73596aeaf63b46b66a615ec02fce1b87f4248
Amend e900571
ocornut 1 maand geleden
bovenliggende
commit
0dc2885f3e
1 gewijzigde bestanden met toevoegingen van 1 en 1 verwijderingen
  1. 1 1
      imgui_widgets.cpp

+ 1 - 1
imgui_widgets.cpp

@@ -4289,7 +4289,7 @@ void ImGuiInputTextCallbackData::InsertChars(int pos, const char* new_text, cons
     // Grow internal buffer if needed
     const bool is_resizable = (Flags & ImGuiInputTextFlags_CallbackResize) != 0;
     const int new_text_len = new_text_end ? (int)(new_text_end - new_text) : (int)ImStrlen(new_text);
-    if (new_text_len + BufTextLen + 1 > obj->TextA.Size)
+    if (new_text_len + BufTextLen + 1 > obj->TextA.Size && (Flags & ImGuiInputTextFlags_ReadOnly) == 0)
     {
         if (!is_resizable)
             return;