From 9f84304829f88d5932031712de5c92eea684f777 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 16 Oct 2019 12:56:05 +0200 Subject: [PATCH] Defensive against missing global qualities This is just something I encountered. Could be that some profiles got corrupted. In my case, I had a bug in Uranium that I fixed later. Contributes to issue CURA-6793. --- cura/Machines/MachineNode.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cura/Machines/MachineNode.py b/cura/Machines/MachineNode.py index 29968512ce..72652f2987 100644 --- a/cura/Machines/MachineNode.py +++ b/cura/Machines/MachineNode.py @@ -177,5 +177,7 @@ class MachineNode(ContainerNode): global_qualities = container_registry.findInstanceContainersMetadata(type = "quality", definition = self.quality_definition, global_quality = "True") # First try specific to this printer. if len(global_qualities) == 0: # This printer doesn't override the global qualities. global_qualities = container_registry.findInstanceContainersMetadata(type = "quality", definition = "fdmprinter", global_quality = "True") # Otherwise pick the global global qualities. + if len(global_qualities) == 0: # There are no global qualities either?! Something went very wrong, but we'll not crash and properly fill the tree. + global_qualities = [cura.CuraApplication.CuraApplication.getInstance().empty_quality_container.getMetaData()] for global_quality in global_qualities: self.global_qualities[global_quality["quality_type"]] = QualityNode(global_quality["id"], parent = self)