From 86d25f04b7da2c520b963f041542b88fd644d1a0 Mon Sep 17 00:00:00 2001 From: Oskar Linde Date: Sun, 2 Feb 2014 02:09:09 +0100 Subject: Editor: Fix bug where replaceAll could enter an infinite loop diff --git a/src/mainwin.cc b/src/mainwin.cc index 6c63fc8..742b380 100644 --- a/src/mainwin.cc +++ b/src/mainwin.cc @@ -1162,9 +1162,14 @@ void MainWindow::replace() { } void MainWindow::replaceAll() { - while (findOperation()) { + QTextCursor old_cursor = editor->textCursor(); + QTextCursor tmp_cursor = old_cursor; + tmp_cursor.movePosition(QTextCursor::Start); + editor->setTextCursor(tmp_cursor); + while (editor->find(findInputField->text())) { editor->textCursor().insertText(replaceInputField->text()); } + editor->setTextCursor(old_cursor); } void MainWindow::findNext() -- cgit v0.10.1