Editor: Prevent setting negative position in block selection

Fixes: QTCREATORBUG-23622
Change-Id: I0f041a772869695e7d460effd4b0d58f94ce55ec
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2020-02-25 10:00:12 +01:00
parent aee78bd58d
commit 63e9c4c31a

View File

@@ -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();
@@ -8037,10 +8037,10 @@ QTextCursor TextBlockSelection::cursor(const TextDocument *baseTextDocument,
void TextBlockSelection::fromPostition(int positionBlock, int positionColumn,
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)