Only set material for imported quality profile if there is an active material

CURA-3881

CuraContainerRegistry._activeMaterialId() can return an empty string
if there is no active material, and in this case, importing a custom
quality file will fail.
This commit is contained in:
Lipu Fei 2017-05-29 15:52:00 +02:00
parent 8ede981a2c
commit 585bc78892

View File

@ -281,8 +281,10 @@ class CuraContainerRegistry(ContainerRegistry):
if self._machineHasOwnQualities():
profile.setDefinition(self._activeQualityDefinition())
if self._machineHasOwnMaterials():
profile.addMetaDataEntry("material", self._activeMaterialId())
quality_type_criteria["material"] = self._activeMaterialId()
active_material_id = self._activeMaterialId()
if active_material_id: # only update if there is an active material
profile.addMetaDataEntry("material", active_material_id)
quality_type_criteria["material"] = active_material_id
quality_type_criteria["definition"] = profile.getDefinition().getId()