From 55727f20e51f9fa821bbebbc41a1117aef56e61b Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 13 Mar 2017 09:45:23 +0100 Subject: [PATCH] CURA-3507 Make quality lookup more robust --- cura/Settings/MachineManager.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 42f0edefe1..d4e246ab63 100644 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -731,8 +731,11 @@ class MachineManager(QObject): else: self._material_incompatible_message.hide() - new_quality_id = old_quality.getId() - quality_type = old_quality.getMetaDataEntry("quality_type") + quality_type = None + new_quality_id = None + if old_quality: + new_quality_id = old_quality.getId() + quality_type = old_quality.getMetaDataEntry("quality_type") if old_quality_changes: quality_type = old_quality_changes.getMetaDataEntry("quality_type") new_quality_id = old_quality_changes.getId() @@ -740,9 +743,11 @@ class MachineManager(QObject): # See if the requested quality type is available in the new situation. machine_definition = self._active_container_stack.getBottom() quality_manager = QualityManager.getInstance() - candidate_quality = quality_manager.findQualityByQualityType(quality_type, - quality_manager.getWholeMachineDefinition(machine_definition), - [material_container]) + candidate_quality = None + if quality_type: + candidate_quality = quality_manager.findQualityByQualityType(quality_type, + quality_manager.getWholeMachineDefinition(machine_definition), + [material_container]) if not candidate_quality or candidate_quality.getId() == "empty_quality": # Fall back to a quality new_quality = quality_manager.findQualityByQualityType(None,