From 0c28c61e0536ce3f73bf0415ee4e001e5fb92e82 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 22 Dec 2017 14:09:13 +0100 Subject: [PATCH] Create new SettingInstances when moving user changes settings CURA-4708 --- cura/Settings/CuraContainerRegistry.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cura/Settings/CuraContainerRegistry.py b/cura/Settings/CuraContainerRegistry.py index 533908a614..7b21332ee4 100644 --- a/cura/Settings/CuraContainerRegistry.py +++ b/cura/Settings/CuraContainerRegistry.py @@ -475,7 +475,15 @@ class CuraContainerRegistry(ContainerRegistry): for user_setting_key in machine.userChanges.getAllKeys(): settable_per_extruder = machine.getProperty(user_setting_key, "settable_per_extruder") if settable_per_extruder: - user_container.addInstance(machine.userChanges.getInstance(user_setting_key)) + setting_value = machine.getProperty(user_setting_key, "value") + + setting_definition = machine.getSettingDefinition(user_setting_key) + new_instance = SettingInstance(setting_definition, definition_changes) + new_instance.setProperty("value", setting_value) + new_instance.resetState() # Ensure that the state is not seen as a user state. + user_container.addInstance(new_instance) + user_container.setDirty(True) + machine.userChanges.removeInstance(user_setting_key, postpone_emit = True) self.addContainer(user_container)