diff --git a/core/gui/prioritize_dialog.py b/core/gui/prioritize_dialog.py index d68c6b7d..d458f6cb 100644 --- a/core/gui/prioritize_dialog.py +++ b/core/gui/prioritize_dialog.py @@ -61,6 +61,8 @@ class PrioritizeDialog: def add_selected(self): # Add selected criteria in criteria_list to prioritization_list. + if self.criteria_list.selected_index is None: + return crit = self.criteria[self.criteria_list.selected_index] self.prioritizations.append(crit) self.prioritization_list[:] = [crit.display for crit in self.prioritizations] diff --git a/core/tests/prioritize_test.py b/core/tests/prioritize_test.py index 440d5183..ac3a0365 100644 --- a/core/tests/prioritize_test.py +++ b/core/tests/prioritize_test.py @@ -123,6 +123,11 @@ def test_remove_crit_from_list(app): ] eq_(app.pdialog.prioritization_list[:], expected) +@with_app(app_normal_results) +def test_add_crit_without_selection(app): + # Adding a criterion without having made a selection doesn't cause a crash. + app.pdialog.add_selected() # no crash + #--- def app_one_name_ends_with_number(): dupes = [