From 7075e438d9f5205ef1fdea3ca4a570434c7c0d19 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 18 Aug 2016 11:40:01 +0200 Subject: [PATCH] Changing metadata now only targets profiles that share basefile CURA-1874 --- plugins/XmlMaterialProfile/XmlMaterialProfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index 01294930ea..156f41eb09 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -35,7 +35,6 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer): variant_containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = variant) if variant_containers: new_id += "_" + variant_containers[0].getName().replace(" ", "_") - result = super().duplicate(new_id, new_name) if result.getMetaDataEntry("base_file", None): result.setMetaDataEntry("base_file", base_file) @@ -57,8 +56,9 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer): if key == "material": self.setName(value) - - for container in UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(GUID = self.getMetaDataEntry("GUID")): + basefile = self.getMetaDataEntry("base_file", self._id) #if basefile is none, this is a basefile. + # Update all containers that share GUID and basefile + for container in UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(GUID = self.getMetaDataEntry("GUID"), base_file = basefile): container.setMetaData(copy.deepcopy(self._metadata)) if key == "material": container.setName(value)