From 90a5f271ee351266ca5ecae1b30e2ba1e6cd831c Mon Sep 17 00:00:00 2001
From: con <qtc-committer@nokia.com>
Date: Wed, 15 Jul 2009 15:24:39 +0200
Subject: [PATCH] Guard against endless loop a bit.

---
 src/plugins/find/basetextfind.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/plugins/find/basetextfind.cpp b/src/plugins/find/basetextfind.cpp
index da3c1de3d9d..d4c245ad3f8 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);
-- 
GitLab