diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp index 98ae5972148..8fe872caedd 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.cpp +++ b/src/plugins/vcsbase/vcsbaseeditor.cpp @@ -1287,7 +1287,16 @@ int VcsBaseEditor::lineNumberOfCurrentEditor(const QString ¤tFile) const BaseTextEditor *eda = qobject_cast(ed); if (!eda) return -1; - return eda->currentLine(); + const int cursorLine = eda->currentLine(); + auto const edw = qobject_cast(ed->widget()); + if (edw) { + const int firstLine = edw->firstVisibleLine(); + const int lastLine = edw->lastVisibleLine(); + if (firstLine <= cursorLine && cursorLine < lastLine) + return cursorLine; + return edw->centerVisibleLine(); + } + return cursorLine; } bool VcsBaseEditor::gotoLineOfEditor(Core::IEditor *e, int lineNumber)