From 2137c30bd6bf1691363da2598b68612e81a14686 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 8 May 2017 11:57:32 +0200 Subject: [PATCH] Also check extruders for definitions of error settings Contributes to issue CURA-3772. --- plugins/CuraEngineBackend/CuraEngineBackend.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index b85cd839b4..b45cb14aac 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -275,11 +275,14 @@ class CuraEngineBackend(QObject, Backend): error_labels = set() definition_container = self._global_container_stack.getBottom() for key in error_keys: - definitions = definition_container.findDefinitions(key = key) - if definitions: - error_labels.add(definitions[0].label) - else: + for stack in extruders + [self._global_container_stack]: #Search all container stacks for the definition of this setting. Some are only in an extruder stack. + definitions = stack.getBottom().findDefinitions(key = key) + if definitions: + break #Found it! No need to continue search. + else: #No stack has a definition for this setting. Logger.log("w", "When checking settings for errors, unable to find definition for key: {key}".format(key = key)) + continue + error_labels.add(definitions[0].label) error_labels = ", ".join(error_labels) self._error_message = Message(catalog.i18nc("@info:status", "Unable to slice with the current settings. The following settings have errors: {0}".format(error_labels)))