diff --git a/cura/Machines/MaterialManager.py b/cura/Machines/MaterialManager.py index 5d78f589c6..3a8634f605 100644 --- a/cura/Machines/MaterialManager.py +++ b/cura/Machines/MaterialManager.py @@ -9,6 +9,7 @@ from typing import Optional, TYPE_CHECKING from PyQt5.Qt import QTimer, QObject, pyqtSignal, pyqtSlot from UM.Application import Application +from UM.ConfigurationErrorMessage import ConfigurationErrorMessage from UM.Logger import Logger from UM.Settings.ContainerRegistry import ContainerRegistry from UM.Settings.SettingFunction import SettingFunction @@ -205,12 +206,10 @@ class MaterialManager(QObject): machine_node.children_map[variant_name] = MaterialNode() variant_node = machine_node.children_map[variant_name] - if root_material_id not in variant_node.material_map: - variant_node.material_map[root_material_id] = MaterialNode(material_metadata) - else: - # Sanity check: make sure we don't have duplicated variant-specific materials for the same machine - raise RuntimeError("Found duplicate variant name [%s] for machine [%s] in material [%s]" % - (variant_name, definition, material_metadata["id"])) + if root_material_id in variant_node.material_map: #We shouldn't have duplicated variant-specific materials for the same machine. + ConfigurationErrorMessage.getInstance().addFaultyContainers(root_material_id) + continue + variant_node.material_map[root_material_id] = MaterialNode(material_metadata) self.materialsUpdated.emit()