Skip to content

Commit a51824e

Browse files
committed
fix: auto unstrip dialog fixes
1 parent a1b90d4 commit a51824e

1 file changed

Lines changed: 11 additions & 10 deletions

File tree

reai_toolkit/features/auto_unstrip/auto_unstrip_dialog.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -187,29 +187,30 @@ def on_checkbox_changed(self, item_or_row, column=None):
187187

188188
result = self.results_table.item(row, 1).data(Qt.UserRole)
189189
log_info(f"RevEng.AI | result: {result}")
190-
result_virtual_address = str(result.get("virtual_address", "")) if result else None
190+
result_virtual_address = result.get("virtual_address") if result else None
191191
log_info(f"RevEng.AI | result_virtual_address: {result_virtual_address}")
192192

193-
if result and result_virtual_address:
193+
if result and result_virtual_address is not None:
194194
log_info(f"RevEng.AI | result_virtual_address: {result_virtual_address}")
195-
is_selected = result_virtual_address in [str(r.get("virtual_address", "")) for r in self.selected_results]
195+
is_selected = any(r.get("virtual_address") == result_virtual_address for r in self.selected_results)
196196
log_info(f"RevEng.AI | is_selected: {is_selected}")
197197

198198
checkbox_item = self.results_table.item(row, 0)
199199
current_state = checkbox_item.checkState()
200200

201-
new_state = Qt.Unchecked if current_state == Qt.Checked else Qt.Checked
202-
checkbox_item.setCheckState(new_state)
201+
# Clear row selection
203202
for col in range(self.results_table.columnCount()):
204203
row_item = self.results_table.item(row, col)
205204
if row_item:
206205
row_item.setSelected(False)
207-
if new_state == Qt.Unchecked:
208-
log_info(f"RevEng.AI | Removing result from selection: {result.get('virtual_address', '')}")
209-
self.selected_results.remove(result)
206+
207+
if current_state == Qt.Unchecked:
208+
log_info(f"RevEng.AI | Removing result from selection: {result_virtual_address}")
209+
self.selected_results = [r for r in self.selected_results if r.get("virtual_address") != result_virtual_address]
210210
else:
211-
log_info(f"RevEng.AI | Adding result from selection: {result.get('virtual_address', '')}")
212-
self.selected_results.append(result)
211+
log_info(f"RevEng.AI | Adding result to selection: {result_virtual_address}")
212+
if not is_selected:
213+
self.selected_results.append(result)
213214

214215

215216
log_info(f"RevEng.AI | Total selected results: {len(self.selected_results)}")

0 commit comments

Comments
 (0)