From 5bd85d5d638659ed3adc74b2c4f168e916a2526f Mon Sep 17 00:00:00 2001 From: Carifio24 Date: Wed, 18 Dec 2024 21:21:37 -0500 Subject: [PATCH] Fix issues with attempts to remove callback when widget is destroyed. --- glue_ar/qt/export_dialog.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/glue_ar/qt/export_dialog.py b/glue_ar/qt/export_dialog.py index dfb3d1a..c28301e 100644 --- a/glue_ar/qt/export_dialog.py +++ b/glue_ar/qt/export_dialog.py @@ -69,12 +69,15 @@ def _widgets_for_property(self, def update_label(value): value_label.setText(f"{value:.{places}f}") - def remove_label_callback(*args): - remove_callback(instance, property, update_label) + def remove_label_callback(widget, update_label=update_label): + try: + remove_callback(instance, property, update_label) + except ValueError: + pass update_label(value) add_callback(instance, property, update_label) - widget.destroyed.connect(remove_label_callback) + widget.destroyed.connect(lambda *args, cb=remove_label_callback: cb(widget)) steps = round((max - min) / step) widget.setMinimum(0)