diff options
author | David Schulz <david.schulz@qt.io> | 2020-02-25 10:00:12 +0100 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2020-02-25 09:49:06 +0000 |
commit | 63e9c4c31ae3c6529f199c23d9e82fe961bf64c9 (patch) | |
tree | 8b1fbe2036de6c25c19248e044ec0e38e6a8f0d6 | |
parent | aee78bd58db609efc729cf883e91049e0e342049 (diff) | |
download | qt-creator-63e9c4c31ae3c6529f199c23d9e82fe961bf64c9.tar.gz |
Editor: Prevent setting negative position in block selection
Fixes: QTCREATORBUG-23622
Change-Id: I0f041a772869695e7d460effd4b0d58f94ce55ec
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r-- | src/plugins/texteditor/texteditor.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 58ade7f6e7..a48d58d126 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -5466,7 +5466,7 @@ void TextEditorWidget::mouseMoveEvent(QMouseEvent *e) column += (e->pos().x() - cursorRect().center().x()) / QFontMetricsF(font()).horizontalAdvance(QLatin1Char(' ')); d->m_blockSelection.positionBlock = cursor.blockNumber(); - d->m_blockSelection.positionColumn = column; + d->m_blockSelection.positionColumn = qMax(0, column); doSetTextCursor(d->m_blockSelection.selection(d->m_document.data()), true); viewport()->update(); @@ -8035,12 +8035,12 @@ QTextCursor TextBlockSelection::cursor(const TextDocument *baseTextDocument, } void TextBlockSelection::fromPostition(int positionBlock, int positionColumn, - int anchorBlock, int anchorColumn) + int anchorBlock, int anchorColumn) { - this->positionBlock = positionBlock; - this->positionColumn = positionColumn; - this->anchorBlock = anchorBlock; - this->anchorColumn = anchorColumn; + this->positionBlock = QTC_GUARD(positionBlock >= 0) ? positionBlock : 0; + this->positionColumn = QTC_GUARD(positionColumn >= 0) ? positionColumn : 0; + this->anchorBlock = QTC_GUARD(anchorBlock >= 0) ? anchorBlock : 0; + this->anchorColumn = QTC_GUARD(anchorColumn >= 0) ? anchorColumn : 0; } bool TextEditorWidget::inFindScope(const QTextCursor &cursor) |