From ad3746530f1b665748fb32b23425794fd8587668 Mon Sep 17 00:00:00 2001 From: dev747368 <48332326+dev747368@users.noreply.github.com> Date: Wed, 2 Sep 2020 21:01:58 -0400 Subject: [PATCH] GP-138 Fix removing multiple source files in Batch Import dialog --- .../plugins/importer/batch/BatchImportDialog.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Ghidra/Features/Base/src/main/java/ghidra/plugins/importer/batch/BatchImportDialog.java b/Ghidra/Features/Base/src/main/java/ghidra/plugins/importer/batch/BatchImportDialog.java index 1710da0e0d..6b3f70cb53 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/plugins/importer/batch/BatchImportDialog.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/plugins/importer/batch/BatchImportDialog.java @@ -231,10 +231,15 @@ public class BatchImportDialog extends DialogComponentProvider { }); removeSourceButton.addActionListener(e -> { - int index = sourceList.getSelectedIndex(); - if (index >= 0 && index < batchInfo.getUserAddedSources().size()) { - UserAddedSourceInfo uasi = batchInfo.getUserAddedSources().get(index); - batchInfo.remove(uasi.getFSRL()); + List sourcesToRemove = new ArrayList<>(); + for (int index : sourceList.getSelectedIndices()) { + if (index >= 0 && index < batchInfo.getUserAddedSources().size()) { + UserAddedSourceInfo uasi = batchInfo.getUserAddedSources().get(index); + sourcesToRemove.add(uasi.getFSRL()); + } + } + for (FSRL fsrl : sourcesToRemove) { + batchInfo.remove(fsrl); } refreshData(); });