diff --git a/src/plugins/find/basetextfind.cpp b/src/plugins/find/basetextfind.cpp index da3c1de3d9d0170d2feeea622b2ff13739ba6b9a..d4c245ad3f8da3aeb633694011d3944c99b412e8 100644 --- a/src/plugins/find/basetextfind.cpp +++ b/src/plugins/find/basetextfind.cpp @@ -216,7 +216,8 @@ int BaseTextFind::replaceAll(const QString &before, const QString &after, regexp.setPatternSyntax(usesRegExp ? QRegExp::RegExp : QRegExp::FixedString); regexp.setCaseSensitivity((findFlags & IFindSupport::FindCaseSensitively) ? Qt::CaseSensitive : Qt::CaseInsensitive); QTextCursor found = document()->find(regexp, editCursor, IFindSupport::textDocumentFlagsForFindFlags(findFlags)); - while (!found.isNull() && inScope(found.selectionStart(), found.selectionEnd())) { + while (!found.isNull() && found.selectionStart() < found.selectionEnd() + && inScope(found.selectionStart(), found.selectionEnd())) { ++count; editCursor.setPosition(found.selectionStart()); editCursor.setPosition(found.selectionEnd(), QTextCursor::KeepAnchor);