InputText: Word-Wrap: avoid word-wrap specific path InputTextLineIndexGetPosOffset() when word-wrap is disabled. (#3237, #952, #1062, #7363)

This commit is contained in:
ocornut
2025-09-12 14:34:43 +02:00
parent 2f3e85bc37
commit 7f1e2bb8dd

View File

@@ -4594,7 +4594,7 @@ static ImVec2 InputTextLineIndexGetPosOffset(ImGuiContext& g, ImGuiInputTextStat
int* it_end = line_index->Offsets.end(); int* it_end = line_index->Offsets.end();
const int* it = ImLowerBound(it_begin, it_end, cursor_n); const int* it = ImLowerBound(it_begin, it_end, cursor_n);
if (it > it_begin) if (it > it_begin)
if (it == it_end || *it != cursor_n || (cursor_ptr[-1] != '\n' && cursor_ptr[-1] != 0 && state != NULL && state->LastMoveDirectionLR == ImGuiDir_Right)) if (it == it_end || *it != cursor_n || (state->WrapWidth > 0.0f && cursor_ptr[-1] != '\n' && cursor_ptr[-1] != 0 && state != NULL && state->LastMoveDirectionLR == ImGuiDir_Right))
it--; it--;
const int line_no = (it == it_begin) ? 0 : line_index->Offsets.index_from_ptr(it); const int line_no = (it == it_begin) ? 0 : line_index->Offsets.index_from_ptr(it);