mirror of
https://github.com/RGBCube/serenity
synced 2025-05-28 03:35:09 +00:00
EditingEngine: Don't jump to the beginning or end of a non-existant word
Previously, when jumping to the next word on the last column of a line, or when jumping to the previous word on the first column, it would crash. This checks if that is the case, and if so, will do nothing.
This commit is contained in:
parent
77601e09c8
commit
279599cbed
1 changed files with 8 additions and 0 deletions
|
@ -477,6 +477,10 @@ TextPosition EditingEngine::find_end_of_next_word()
|
|||
bool is_first_iteration = true;
|
||||
auto& lines = m_editor->lines();
|
||||
auto cursor = m_editor->cursor();
|
||||
|
||||
if ((lines.at(cursor.line()).length() - cursor.column()) <= 1)
|
||||
return { cursor.line(), cursor.column() };
|
||||
|
||||
for (size_t line_index = cursor.line(); line_index < lines.size(); line_index++) {
|
||||
auto& line = lines.at(line_index);
|
||||
|
||||
|
@ -605,6 +609,10 @@ TextPosition EditingEngine::find_beginning_of_previous_word()
|
|||
bool is_first_iteration = true;
|
||||
auto& lines = m_editor->lines();
|
||||
auto cursor = m_editor->cursor();
|
||||
|
||||
if ((lines.at(cursor.line()).length() - cursor.column()) <= 1)
|
||||
return { cursor.line(), cursor.column() };
|
||||
|
||||
for (size_t line_index = cursor.line(); (int)line_index >= 0; line_index--) {
|
||||
auto& line = lines.at(line_index);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue