mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-14 00:55:51 +08:00
Don't crash when finding duplicated materials
Only report it to the user. Contributes to issue CURA-5045.
This commit is contained in:
parent
593c80225d
commit
027f4b44bb
@ -9,6 +9,7 @@ from typing import Optional, TYPE_CHECKING
|
|||||||
from PyQt5.Qt import QTimer, QObject, pyqtSignal, pyqtSlot
|
from PyQt5.Qt import QTimer, QObject, pyqtSignal, pyqtSlot
|
||||||
|
|
||||||
from UM.Application import Application
|
from UM.Application import Application
|
||||||
|
from UM.ConfigurationErrorMessage import ConfigurationErrorMessage
|
||||||
from UM.Logger import Logger
|
from UM.Logger import Logger
|
||||||
from UM.Settings.ContainerRegistry import ContainerRegistry
|
from UM.Settings.ContainerRegistry import ContainerRegistry
|
||||||
from UM.Settings.SettingFunction import SettingFunction
|
from UM.Settings.SettingFunction import SettingFunction
|
||||||
@ -205,12 +206,10 @@ class MaterialManager(QObject):
|
|||||||
machine_node.children_map[variant_name] = MaterialNode()
|
machine_node.children_map[variant_name] = MaterialNode()
|
||||||
|
|
||||||
variant_node = machine_node.children_map[variant_name]
|
variant_node = machine_node.children_map[variant_name]
|
||||||
if root_material_id not in variant_node.material_map:
|
if root_material_id in variant_node.material_map: #We shouldn't have duplicated variant-specific materials for the same machine.
|
||||||
variant_node.material_map[root_material_id] = MaterialNode(material_metadata)
|
ConfigurationErrorMessage.getInstance().addFaultyContainers(root_material_id)
|
||||||
else:
|
continue
|
||||||
# Sanity check: make sure we don't have duplicated variant-specific materials for the same machine
|
variant_node.material_map[root_material_id] = MaterialNode(material_metadata)
|
||||||
raise RuntimeError("Found duplicate variant name [%s] for machine [%s] in material [%s]" %
|
|
||||||
(variant_name, definition, material_metadata["id"]))
|
|
||||||
|
|
||||||
self.materialsUpdated.emit()
|
self.materialsUpdated.emit()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user