From 8c35c8fbc39838275732327b0e41516873a2d044 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 23 Nov 2016 17:27:27 +0100 Subject: [PATCH] Inheritance manager no longer sees settings as setting if they use enum value --- cura/Settings/SettingInheritanceManager.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cura/Settings/SettingInheritanceManager.py b/cura/Settings/SettingInheritanceManager.py index 7eecdf9591..b13faadd0e 100644 --- a/cura/Settings/SettingInheritanceManager.py +++ b/cura/Settings/SettingInheritanceManager.py @@ -167,7 +167,16 @@ class SettingInheritanceManager(QObject): continue if value is not None: # If a setting doesn't use any keys, it won't change it's value, so treat it as if it's a fixed value - has_setting_function = isinstance(value, UM.Settings.SettingFunction) and len(value.getUsedSettingKeys()) > 0 + has_setting_function = isinstance(value, UM.Settings.SettingFunction) + if has_setting_function: + for setting_key in value.getUsedSettingKeys(): + if setting_key in self._active_container_stack.getAllKeys(): + break # We found an actual setting. So has_setting_function can remain true + else: + # All of the setting_keys turned out to not be setting keys at all! + # This can happen due enum keys also being marked as settings. + has_setting_function = False + if has_setting_function is False: has_non_function_value = True continue