diff --git a/src/shiver/views/generate.py b/src/shiver/views/generate.py index ef6f0b3b..7d6f3cc9 100644 --- a/src/shiver/views/generate.py +++ b/src/shiver/views/generate.py @@ -177,7 +177,11 @@ def update_raw_data_widget_selection( def set_dataset_to_custom(self): """Set the dataset in the oncat widget to "custom".""" if not self.inhibit_update: - self.oncat_widget.set_dataset_to_custom() + self.oncat_widget.dataset.blockSignals(True) + try: + self.oncat_widget.set_dataset_to_custom() + finally: + self.oncat_widget.dataset.blockSignals(False) def _update_title(self, mde_name: str): """Update the title of the widget to include the MDE name""" diff --git a/src/shiver/views/reduction_parameters.py b/src/shiver/views/reduction_parameters.py index e1f570cc..837677f5 100644 --- a/src/shiver/views/reduction_parameters.py +++ b/src/shiver/views/reduction_parameters.py @@ -204,11 +204,14 @@ def set_adv_btn(self): """Open the dialog to set advanced options""" dialog = AdvancedDialog(self) self.active_dialog = dialog + goniometer = "" # populate the dialog if self.dict_advanced: + goniometer = self.dict_advanced["Goniometer"] dialog.populate_advanced_options_from_dict(self.dict_advanced) dialog.exec_() - self.advanced_apply_callback(self.dict_advanced) + if self.dict_advanced["Goniometer"] != goniometer: + self.advanced_apply_callback(self.dict_advanced) self.active_dialog = None def set_pol_btn(self):