Fix ID of derived materials

Because the ID is now in the metadata it would get overwritten by this deep copy. We need to set it again.

Contributes to issue CURA-4243.
This commit is contained in:
Ghostkeeper 2017-11-27 10:37:54 +01:00
parent e0f0e098ff
commit 9571181178
No known key found for this signature in database
GPG key ID: 5252B696FB5E7C7A

View file

@ -570,6 +570,7 @@ class XmlMaterialProfile(InstanceContainer):
is_new_material = True is_new_material = True
new_material.setMetaData(copy.deepcopy(self.getMetaData())) new_material.setMetaData(copy.deepcopy(self.getMetaData()))
new_material.getMetaData()["id"] = new_material_id
new_material.getMetaData()["name"] = self.getName() new_material.getMetaData()["name"] = self.getName()
new_material.setDefinition(machine_id) new_material.setDefinition(machine_id)
# Don't use setMetadata, as that overrides it for all materials with same base file # Don't use setMetadata, as that overrides it for all materials with same base file
@ -623,6 +624,7 @@ class XmlMaterialProfile(InstanceContainer):
is_new_material = True is_new_material = True
new_hotend_material.setMetaData(copy.deepcopy(self.getMetaData())) new_hotend_material.setMetaData(copy.deepcopy(self.getMetaData()))
new_hotend_material.getMetaData()["id"] = new_hotend_id
new_hotend_material.getMetaData()["name"] = self.getName() new_hotend_material.getMetaData()["name"] = self.getName()
new_hotend_material.setDefinition(machine_id) new_hotend_material.setDefinition(machine_id)
new_hotend_material.getMetaData()["variant"] = variant_containers[0]["id"] new_hotend_material.getMetaData()["variant"] = variant_containers[0]["id"]