summaryrefslogtreecommitdiffstats
path: root/src/corelib/itemmodels
diff options
context:
space:
mode:
authorLuca Beldi <v.ronin@yahoo.it>2018-08-17 09:04:17 +0100
committerLuca Beldi <v.ronin@yahoo.it>2018-08-17 08:10:11 +0000
commit70ba75519d66243b6fef6d452e9e158f7d3ea438 (patch)
treed7642203bd3e14c4ad74e9cb3bc38738b293c83c /src/corelib/itemmodels
parent29778037f8a7b2c86bc4044409b37d5a51a15432 (diff)
QSortFilterProxyModel inserting at bottom of source model
Before this change, if you try to insert a row at the bottom of QSortFilterProxyModel the row will be inserted in the source model at position proxy->rowCount rather than at the bottom. This causes insert at apparently random positions in the source. [ChangeLog][QtCore][QSortFilterProxyModel] QSortFilterProxyModel::insertRows(row,count,parent) with row == QSortFilterProxyModel::rowCount will insert at the bottom of the source model rather than at the row QSortFilterProxyModel::rowCount of the source model Task-number: QTBUG-58499 Task-number: QTBUG-69158 Change-Id: Ie78416c8fbc429303b8c9c98375630e3e4d85f6d Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'src/corelib/itemmodels')
-rw-r--r--src/corelib/itemmodels/qsortfilterproxymodel.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.cpp b/src/corelib/itemmodels/qsortfilterproxymodel.cpp
index 08279cb244..6728f0106b 100644
--- a/src/corelib/itemmodels/qsortfilterproxymodel.cpp
+++ b/src/corelib/itemmodels/qsortfilterproxymodel.cpp
@@ -2191,7 +2191,7 @@ bool QSortFilterProxyModel::insertRows(int row, int count, const QModelIndex &pa
if (row > m->source_rows.count())
return false;
int source_row = (row >= m->source_rows.count()
- ? m->source_rows.count()
+ ? m->proxy_rows.count()
: m->source_rows.at(row));
return d->model->insertRows(source_row, count, source_parent);
}
@@ -2211,7 +2211,7 @@ bool QSortFilterProxyModel::insertColumns(int column, int count, const QModelInd
if (column > m->source_columns.count())
return false;
int source_column = (column >= m->source_columns.count()
- ? m->source_columns.count()
+ ? m->proxy_columns.count()
: m->source_columns.at(column));
return d->model->insertColumns(source_column, count, source_parent);
}