From 3591e01b251afd3e93cc5994380106c5547a2324 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Thu, 22 Feb 2018 09:20:33 +0100 Subject: [PATCH] CURA-4606 CURA-5002 fix crash with machine with variants, but no variants defined --- cura/Machines/MaterialManager.py | 5 +++-- cura/Machines/VariantManager.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/cura/Machines/MaterialManager.py b/cura/Machines/MaterialManager.py index 664d55a4c1..54216972a4 100644 --- a/cura/Machines/MaterialManager.py +++ b/cura/Machines/MaterialManager.py @@ -256,8 +256,9 @@ class MaterialManager(QObject): material_id_metadata_dict = dict() for node in nodes_to_check: if node is not None: - material_id_metadata_dict = {mid: node for mid, node in node.material_map.items()} - break + for material_id, node in node.material_map.items(): + if material_id not in material_id_metadata_dict: + material_id_metadata_dict[material_id] = node return material_id_metadata_dict diff --git a/cura/Machines/VariantManager.py b/cura/Machines/VariantManager.py index 05ddfe869c..834b47dd0f 100644 --- a/cura/Machines/VariantManager.py +++ b/cura/Machines/VariantManager.py @@ -83,4 +83,4 @@ class VariantManager: def getVariantNodes(self, machine: "GlobalStack", variant_type: Optional[str] = VariantType.NOZZLE) -> dict: machine_definition_id = machine.definition.getId() - return self._machine_to_variant_dict_map[machine_definition_id].get(variant_type, {}) + return self._machine_to_variant_dict_map.get(machine_definition_id, {}).get(variant_type, {})