summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews/qtableview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/itemviews/qtableview.cpp')
-rw-r--r--src/widgets/itemviews/qtableview.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp
index 9c2b3e5b54..9725a768de 100644
--- a/src/widgets/itemviews/qtableview.cpp
+++ b/src/widgets/itemviews/qtableview.cpp
@@ -1816,8 +1816,12 @@ QModelIndex QTableView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifi
break;
case MovePageUp: {
int newRow = rowAt(visualRect(current).bottom() - d->viewport->height());
- if (newRow == -1)
- newRow = d->logicalRow(0);
+ if (newRow == -1) {
+ int visualRow = 0;
+ while (visualRow < bottom && isRowHidden(d->logicalRow(visualRow)))
+ ++visualRow;
+ newRow = d->logicalRow(visualRow);
+ }
return d->model->index(newRow, current.column(), d->root);
}
case MovePageDown: {