Skip to content

Conversation

@parchinskiy
Copy link
Contributor

Привет.
Нашел еще одну причину падения

  1. Выделяем полностью строку.
  2. Введем мышкой по строке вправо до тех пор пока не найдем место где каретка превращается в обычный указатель мыши.
  3. Возвращаемся назад пока указатель не станет кареткой
  4. Дважды кликаем

Приблизительно в место указанным красным на скриншоте.
image

Если я правильно понял когда мы выделяем строку это увеличивает размер TextView и позволяет получить позицию из функции GetTextPosition указывающую за последний символ текста.
Далее полученная позиция обрабатывается в GetWordSelectionRange где из позиции получают границы слова, но функция не учитывает то, что позиция может указывать за конец строки и возвращает некорректный размер
В результате в метод Slice передается размер превышающий размер исходной строки из-за чего летит исключение, которое никто не перехватывает

Константин Мокраусов added 2 commits March 22, 2025 20:48
@parchinskiy parchinskiy changed the title Fix crash select word under point Fix Crash Mar 22, 2025
@pekabon pekabon merged commit 969e45e into pekabon:master Mar 23, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants