From 3287ace29dafccf6dd8fa8d68d67c5d453e6aca4 Mon Sep 17 00:00:00 2001 From: twanvl Date: Sun, 1 Jun 2008 00:02:02 +0000 Subject: [PATCH] Fixed crash in cursor movement git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@925 0fc631ac-6414-0410-93d0-97cfa31319b6 --- src/gui/value/text.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/value/text.cpp b/src/gui/value/text.cpp index f34069ab..a82018bf 100644 --- a/src/gui/value/text.cpp +++ b/src/gui/value/text.cpp @@ -943,7 +943,9 @@ void TextValueEditor::replaceSelection(const String& replacement, const String& } else { // try to find the best match to what text we expected to be around the cursor size_t best_match = 0; - for (size_t i = min(start, expected_cursor) ; i <= max(real_value.size() - end_min, expected_cursor) ; ++i) { + size_t begin = min(start, expected_cursor); + size_t end = min(real_value.size(), max(real_value.size() - end_min, expected_cursor) + 1); + for (size_t i = begin ; i < end ; ++i) { size_t match = match_cursor_position(expected_cursor, expected_value, i, real_value); if (match > best_match || (match == best_match && abs((int)expected_cursor - (int)i) < abs((int)expected_cursor - (int)best_cursor))) { best_match = match;