diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 88f5f06989f50ff6f087512436be8b81bb90c2e7..3ad5b89f24f71e823304605dfba4f7ae469a8c17 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -959,7 +959,7 @@ void BaseTextEditor::setTextCursor(const QTextCursor &cursor) slotSelectionChanged(); } -void BaseTextEditor::gotoLine(int line, int column, bool saveNewPosition) +void BaseTextEditor::gotoLine(int line, int column) { const int blockNumber = line - 1; const QTextBlock &block = document()->findBlockByNumber(blockNumber); @@ -977,8 +977,7 @@ void BaseTextEditor::gotoLine(int line, int column, bool saveNewPosition) setTextCursor(cursor); centerCursor(); } - if (saveNewPosition) - saveCurrentCursorPositionForNavigation(); + saveCurrentCursorPositionForNavigation(); } int BaseTextEditor::position(ITextEditor::PositionOperation posOp, int at) const @@ -1115,9 +1114,11 @@ bool BaseTextEditor::restoreState(const QByteArray &state) stream >> hval; stream >> lval; stream >> cval; - gotoLine(lval, cval, false); + d->m_lastCursorChangeWasInteresting = false; // avoid adding last position to history + gotoLine(lval, cval); verticalScrollBar()->setValue(vval); horizontalScrollBar()->setValue(hval); + saveCurrentCursorPositionForNavigation(); return true; } diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h index 0e7029a9b02a2c7b315538ddde8ca69d49f68ae3..8c106181349edbde83d0f8c4a82f6dc9aba51633 100644 --- a/src/plugins/texteditor/basetexteditor.h +++ b/src/plugins/texteditor/basetexteditor.h @@ -241,7 +241,7 @@ public: // ITextEditor - void gotoLine(int line, int column = 0, bool saveNewPosition = true); + void gotoLine(int line, int column = 0); int position( ITextEditor::PositionOperation posOp = ITextEditor::Current