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.
This commit is contained in:
Ghostkeeper 2019-10-16 12:56:05 +02:00
parent 401390209f
commit 9f84304829
No known key found for this signature in database
GPG Key ID: 86BEF881AE2CF276

View File

@ -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)