LibGUI: Resize the mapping rows during sort

SortingProxyModel always expected the source model to have the same
number of rows as long as it has not been invalidated. Now that we have
granular updates, this assumption is no longer true, and we need to
resize the source/proxy_rows vectors to the new size. This is safe since
the values in the vector are overwritten right afterwards.
This commit is contained in:
sin-ack 2021-08-08 10:01:19 +00:00 committed by Andreas Kling
parent 7ba321c91b
commit 265e2832ef
Notes: sideshowbarker 2024-07-18 07:14:36 +09:00

View file

@ -175,6 +175,9 @@ void SortingProxyModel::sort_mapping(Mapping& mapping, int column, SortOrder sor
auto old_source_rows = mapping.source_rows;
int row_count = source().row_count(mapping.source_parent);
mapping.source_rows.resize(row_count);
mapping.proxy_rows.resize(row_count);
for (int i = 0; i < row_count; ++i)
mapping.source_rows[i] = i;