summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2017-10-20 08:05:47 +0200
committerDavid Schulz <david.schulz@qt.io>2017-10-23 10:58:18 +0000
commit0c0c10b1675365f3ad003909eb9c6c1fc175cc94 (patch)
treeddd666c86d84047d71efb54ef238392dff4df31a /src
parentb1a3c0bba443e785cede838983f2e5c69fbd3bd6 (diff)
downloadqt-creator-0c0c10b1675365f3ad003909eb9c6c1fc175cc94.tar.gz
TextEditor: Fix block for visible row calculation
Take into account that a block can contain multiple visible rows. Change-Id: Ifedeb113b3c1a6a374fa9418106e612c56559cba Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/texteditor/texteditor.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp
index d86156feea..2336178ce0 100644
--- a/src/plugins/texteditor/texteditor.cpp
+++ b/src/plugins/texteditor/texteditor.cpp
@@ -8125,15 +8125,12 @@ QTextBlock TextEditorWidget::blockForVisibleRow(int row) const
return QTextBlock();
QTextBlock block = firstVisibleBlock();
- for (int i = 0; i < count; ++i) {
- if (!block.isValid() || i == row)
+ for (int i = 0; i < count;) {
+ if (!block.isValid() || i >= row)
return block;
- while (block.isValid()) {
- block = block.next();
- if (block.isVisible())
- break;
- }
+ i += block.lineCount();
+ block = d->nextVisibleBlock(block);
}
return QTextBlock();