From 585bc788927667ec583c7f0c4e05670fc231fab8 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 29 May 2017 15:52:00 +0200 Subject: [PATCH] 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. --- cura/Settings/CuraContainerRegistry.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cura/Settings/CuraContainerRegistry.py b/cura/Settings/CuraContainerRegistry.py index b159183241..a67b502b4a 100644 --- a/cura/Settings/CuraContainerRegistry.py +++ b/cura/Settings/CuraContainerRegistry.py @@ -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()