diff options
| author | Mason Reed <mason@vector35.com> | 2025-04-02 05:33:43 -0400 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-04-02 05:36:54 -0400 |
| commit | cfb8215d6aa0703ad0d6c3046431536b4e37d810 (patch) | |
| tree | 3d08f908d6d952c7f31e999e345afb921db5dc83 /view/sharedcache/ui | |
| parent | e580ba203b265d7b281c6edfc0a797aa8a4e3c38 (diff) | |
[SharedCache] Fix multi-row image selection not respecting the visibility of rows
Before this we would load all images between the end and beginning because the model is does not have a filter proxy, but just hides the rows instead, we should move to a proxy
Diffstat (limited to 'view/sharedcache/ui')
| -rw-r--r-- | view/sharedcache/ui/dsctriage.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/view/sharedcache/ui/dsctriage.cpp b/view/sharedcache/ui/dsctriage.cpp index 297612d5..5c2162fb 100644 --- a/view/sharedcache/ui/dsctriage.cpp +++ b/view/sharedcache/ui/dsctriage.cpp @@ -111,8 +111,13 @@ DSCTriageView::DSCTriageView(QWidget* parent, BinaryViewRef data) : QWidget(pare [loadImageTable, loadImagesWithAddr](bool) { auto selected = loadImageTable->selectionModel()->selectedRows(); std::vector<uint64_t> addresses; - for (const auto& row : selected) - addresses.push_back(row.data().toString().toULongLong(nullptr, 16)); + for (const auto& idx : selected) + { + // Skip rows hidden by the filter. + if (loadImageTable->isRowHidden(idx.row())) + continue; + addresses.push_back(idx.data().toString().toULongLong(nullptr, 16)); + } loadImagesWithAddr(addresses); }); loadImageButton->setText("Load Selected"); |
