Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.3.2, 5.9.4, 5.12
-
Windows 7 64-it Mingw 48
-
a7df98a9a72ee460c6bd23388d52b1200e7ed3ba
Description
When a QSFPM's source model calls "endResetModel" this internally emits the "modelReset" private signal. This is handled internally by QSFPM::_q_sourceReset() which calls _q_clearMapping() which calls update_source_sort_column() which calls create_mapping() which calls filterAcceptsRow for each row. After _q_clearMapping() returns, _q_sourceReset then calls update_source_sort_column() which then iterates over all the rows again calling filterAcceptsRow again for every row. This means that for a source model reset, filterAcceptsRow is called for each row twice. For large models, this can be very expensive.
Attachments
For Gerrit Dashboard: QTBUG-41659 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
277153,3 | QSortFilterProxyModel: Add a cheaper way to find source_sort_column | 5.14 | qt/qtbase | Status: MERGED | +2 | 0 |