summaryrefslogtreecommitdiff
path: root/view/sharedcache
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-04-02 05:33:43 -0400
committerMason Reed <mason@vector35.com>2025-04-02 05:36:54 -0400
commitcfb8215d6aa0703ad0d6c3046431536b4e37d810 (patch)
tree3d08f908d6d952c7f31e999e345afb921db5dc83 /view/sharedcache
parente580ba203b265d7b281c6edfc0a797aa8a4e3c38 (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')
-rw-r--r--view/sharedcache/ui/dsctriage.cpp9
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");