summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2020-02-25 10:00:12 +0100
committerDavid Schulz <david.schulz@qt.io>2020-02-25 09:49:06 +0000
commit63e9c4c31ae3c6529f199c23d9e82fe961bf64c9 (patch)
tree8b1fbe2036de6c25c19248e044ec0e38e6a8f0d6
parentaee78bd58db609efc729cf883e91049e0e342049 (diff)
downloadqt-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.cpp12
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)