diff options
author | amakarenko <alexey-makarenko@hotmail.com> | 2019-09-02 15:15:55 +0300 |
---|---|---|
committer | amakarenko <alexey-makarenko@hotmail.com> | 2019-09-02 15:15:55 +0300 |
commit | 544c39d1e72759d228bce4c5af72744db698d570 (patch) | |
tree | 6411e768e18bce93bb81ad1ca5296cc611b79951 /scene/gui/text_edit.cpp | |
parent | 7e731bbce221c423340821f1801a4fe021138358 (diff) | |
download | redot-engine-544c39d1e72759d228bce4c5af72744db698d570.tar.gz |
Fix editor infinit loop in search_prev
Fixes godotengine#31328
Diffstat (limited to 'scene/gui/text_edit.cpp')
-rw-r--r-- | scene/gui/text_edit.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 736e546ed8..0464cc1ac8 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -5365,6 +5365,9 @@ bool TextEdit::search(const String &p_key, uint32_t p_search_flags, int p_from_l break; } pos_from = last_pos - p_key.length(); + if (pos_from < 0) { + break; + } } } else { while ((last_pos = (p_search_flags & SEARCH_MATCH_CASE) ? text_line.find(p_key, pos_from) : text_line.findn(p_key, pos_from)) != -1) { |