From 7bd361a5f59ab11228584c2c82d5381e22e7cb92 Mon Sep 17 00:00:00 2001 From: Alex Buts Date: Thu, 8 Jan 2015 15:05:58 +0000 Subject: [PATCH] Re #10803 fixing merge errors --- .../Inelastic/Direct/PropertyManager.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Code/Mantid/scripts/Inelastic/Direct/PropertyManager.py b/Code/Mantid/scripts/Inelastic/Direct/PropertyManager.py index 892a2292e62f..28c375f8311d 100644 --- a/Code/Mantid/scripts/Inelastic/Direct/PropertyManager.py +++ b/Code/Mantid/scripts/Inelastic/Direct/PropertyManager.py @@ -345,6 +345,18 @@ def update_defaults_from_instrument(self,pInstrument,ignore_changes=False): old_changes = self.getChangedProperties() self.setChangedProperties(set()) + # find all changes, present in the old changes list + existing_changes = old_changes.copy() + for change in old_changes: + dependencies = None + try: + prop = self.__class__.__dict__[change] + dependencies = prop.dependencies() + except: + pass + if dependencies: + existing_changes.update(dependencies) + param_list = prop_helpers.get_default_idf_param_list(pInstrument) param_list = self._convert_params_to_properties(param_list,False) @@ -377,12 +389,12 @@ def update_defaults_from_instrument(self,pInstrument,ignore_changes=False): # is complex property changed through its dependent properties? dependent_prop = val.dependencies() replace_old_value = True - if public_name in old_changes: + if public_name in existing_changes: replace_old_value = False if replace_old_value: # may be property have changed through its dependencies for prop_name in dependent_prop: - if prop_name in old_changes: + if prop_name in existing_changes: replace_old_value =False break # @@ -399,7 +411,7 @@ def update_defaults_from_instrument(self,pInstrument,ignore_changes=False): pass # simple property else: - if public_name in old_changes: + if public_name in existing_changes: continue else: old_val = getattr(self,name);