Only show error when quality is global with material/nozzle

Don't crash. Only show an error message that indicates that there is a problem with this one.

Contributes to issue CURA-5045.
This commit is contained in:
Ghostkeeper 2018-03-27 14:19:36 +02:00
parent 7af941541b
commit 727a164722
No known key found for this signature in database
GPG Key ID: 5252B696FB5E7C7A

View File

@ -6,6 +6,7 @@ from typing import TYPE_CHECKING, Optional
from PyQt5.QtCore import QObject, QTimer, pyqtSignal, pyqtSlot
from UM.Application import Application
from UM.ConfigurationErrorMessage import ConfigurationErrorMessage
from UM.Logger import Logger
from UM.Util import parseBool
from UM.Settings.InstanceContainer import InstanceContainer
@ -84,7 +85,8 @@ class QualityManager(QObject):
# Sanity check: material+variant and is_global_quality cannot be present at the same time
if is_global_quality and (root_material_id or variant_name):
raise RuntimeError("Quality profile [%s] contains invalid data: it is a global quality but contains 'material' and 'nozzle' info." % metadata["id"])
ConfigurationErrorMessage.getInstance().addFaultyContainers(metadata["id"])
continue
if definition_id not in self._machine_variant_material_quality_type_to_quality_dict:
self._machine_variant_material_quality_type_to_quality_dict[definition_id] = QualityNode()