LibLine: Use the correct loop conditions for erase_character_forwards()

Prior to this commit, the loop would continue forever and try to remove
the same index every time, eventually hitting a VERIFY and crashing.
This commit is contained in:
Ali Mohammad Pur 2023-12-24 17:46:44 +03:30 committed by Andreas Kling
parent a49b7e92eb
commit 8b2beb2ebe

View file

@ -168,7 +168,7 @@ void Editor::erase_character_forwards()
auto end_of_next_grapheme = closest_cursor_left_offset + 1 >= m_cached_buffer_metrics.grapheme_breaks.size()
? m_buffer.size()
: m_cached_buffer_metrics.grapheme_breaks[closest_cursor_left_offset + 1];
for (; m_cursor < end_of_next_grapheme;)
for (auto cursor = m_cursor; cursor < end_of_next_grapheme; ++cursor)
remove_at_index(m_cursor);
m_refresh_needed = true;
}