diff options
Diffstat (limited to 'Libraries/LibGUI')
-rw-r--r-- | Libraries/LibGUI/SortingProxyModel.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Libraries/LibGUI/SortingProxyModel.cpp b/Libraries/LibGUI/SortingProxyModel.cpp index 1eccc363bd..45ff283e0b 100644 --- a/Libraries/LibGUI/SortingProxyModel.cpp +++ b/Libraries/LibGUI/SortingProxyModel.cpp @@ -44,10 +44,16 @@ SortingProxyModel::~SortingProxyModel() void SortingProxyModel::invalidate(unsigned int flags) { - if (flags == UpdateFlag::DontInvalidateIndexes) + if (flags == UpdateFlag::DontInvalidateIndexes) { sort(m_last_key_column, m_last_sort_order); - else + } else { m_mappings.clear(); + + // FIXME: This is really harsh, but without precise invalidation, not much we can do. + for_each_view([&](auto& view) { + view.selection().clear(); + }); + } did_update(flags); } |