From 027f4b44bb4543c34280633683ec9197e9279c6e Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 27 Mar 2018 13:57:52 +0200 Subject: [PATCH] Don't crash when finding duplicated materials Only report it to the user. Contributes to issue CURA-5045. --- cura/Machines/MaterialManager.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) 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()