diff options
author | David Schulz <david.schulz@qt.io> | 2021-12-02 10:16:42 +0100 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2021-12-02 11:42:46 +0000 |
commit | dbc4cd6f4a353c2d48c3ca214088759489b3fceb (patch) | |
tree | bcdddeb453429dc377acff5a685c93e40cdce669 | |
parent | 2e42c99522537bc3102aeff4f01671c0234c11b8 (diff) |
TextEditor: always replace cursor
Otherwise some internal data might be outdated. For example inserting
text resets the QTextCursorPrivate::x which is used to calculate
positions when moving the cursor up or down.
Fixes: QTCREATORBUG-26635
Change-Id: I9fee7436a3648f9d3eab7b30f8a09a134c5be356
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
-rw-r--r-- | src/plugins/texteditor/texteditor.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 28fe278cab..c1a272a272 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -6257,10 +6257,10 @@ MultiTextCursor TextEditorWidget::multiTextCursor() const void TextEditorWidget::setMultiTextCursor(const Utils::MultiTextCursor &cursor) { - if (d->m_cursors == cursor) - return; - MultiTextCursor oldCursor = d->m_cursors; + const MultiTextCursor oldCursor = d->m_cursors; const_cast<MultiTextCursor &>(d->m_cursors) = cursor; + if (oldCursor == d->m_cursors) + return; doSetTextCursor(d->m_cursors.mainCursor(), /*keepMultiSelection*/ true); QRect updateRect = d->cursorUpdateRect(oldCursor); if (d->m_highlightCurrentLine) |