diff --git a/src/libs/utils/textutils.cpp b/src/libs/utils/textutils.cpp index bd750d14466..e486ca1b2b9 100644 --- a/src/libs/utils/textutils.cpp +++ b/src/libs/utils/textutils.cpp @@ -139,10 +139,10 @@ QTextCursor selectAt(QTextCursor textCursor, int line, int column, uint length) if (line < 1) line = 1; - if (column < 1) - column = 1; + if (column < 0) + column = 0; - const int anchorPosition = positionInText(textCursor.document(), line, column); + const int anchorPosition = positionInText(textCursor.document(), line, column + 1); textCursor.setPosition(anchorPosition); textCursor.setPosition(anchorPosition + int(length), QTextCursor::KeepAnchor); diff --git a/src/libs/utils/textutils.h b/src/libs/utils/textutils.h index 36bd042e444..3394e45054b 100644 --- a/src/libs/utils/textutils.h +++ b/src/libs/utils/textutils.h @@ -59,6 +59,7 @@ QTCREATOR_UTILS_EXPORT int positionInText(const QTextDocument *textDocument, int QTCREATOR_UTILS_EXPORT QString textAt(QTextCursor tc, int pos, int length); +// line is 1-based, column is 0-based QTCREATOR_UTILS_EXPORT QTextCursor selectAt(QTextCursor textCursor, int line, int column, uint length); QTCREATOR_UTILS_EXPORT QTextCursor flippedCursor(const QTextCursor &cursor); diff --git a/src/plugins/cppeditor/cppeditorwidget.cpp b/src/plugins/cppeditor/cppeditorwidget.cpp index a6daf681db5..e8bf8750110 100644 --- a/src/plugins/cppeditor/cppeditorwidget.cpp +++ b/src/plugins/cppeditor/cppeditorwidget.cpp @@ -816,7 +816,7 @@ QList sourceLocationsToExtraSelections( selection.cursor = selectAt(cppEditorWidget->textCursor(), sourceLocation.targetLine, - sourceLocation.targetColumn + 1, + sourceLocation.targetColumn, selectionLength); selection.format = textCharFormat;