@@ -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