-
Bug
-
Resolution: Done
-
P2: Important
-
None
-
5.2.0, 5.5.1
-
None
I have a QML ListView, which has a custom QSortFilterProxyModel as a model, which has a custom filterAcceptsRow() that can either show all elements or show some elements.
When the filter changes I emit the invalidateFilter() signal to refresh the view, but the view is refreshed wrong: some elements are unsorted, missing or even blank (the delegate isn't painted).
If I scroll up or down and back to the original position the view shows fine, so I think everything works fine except the refreshing of the view after the invalidateFilter() signal is emitted.
I wrote an example code to reproduce the problem. Sometimes you have to scroll up & down and filter on/off a couple of times to reproduce it.
This sample code outputs some warnings that my project doesn't, but they didn't help me find the issue.
My system is an ArchLinux 64 bits with the lastest version of Qt available (version 5.2.0-2).