Do not load material when no GUID is present instead of crashing Cura

This commit is contained in:
ChrisTerBeke 2018-05-16 19:18:09 +02:00
parent e9d2623237
commit c13b77d8a1
No known key found for this signature in database
GPG key ID: A49F1AB9D7E0C263
2 changed files with 7 additions and 4 deletions

View file

@ -76,7 +76,9 @@ class MaterialManager(QObject):
def initialize(self):
# Find all materials and put them in a matrix for quick search.
material_metadatas = {metadata["id"]: metadata for metadata in self._container_registry.findContainersMetadata(type = "material")}
material_metadatas = {metadata["id"]: metadata for metadata in
self._container_registry.findContainersMetadata(type = "material") if
metadata.get("GUID")}
self._material_group_map = dict()
@ -93,7 +95,7 @@ class MaterialManager(QObject):
self._material_group_map[root_material_id].is_read_only = self._container_registry.isReadOnly(root_material_id)
group = self._material_group_map[root_material_id]
#Store this material in the group of the appropriate root material.
# Store this material in the group of the appropriate root material.
if material_id != root_material_id:
new_node = MaterialNode(material_metadata)
group.derived_material_node_list.append(new_node)

View file

@ -540,7 +540,8 @@ class XmlMaterialProfile(InstanceContainer):
validation_message = XmlMaterialValidator.validateMaterialMetaData(meta_data)
if validation_message is not None:
raise Exception("Not valid material profile: %s" % (validation_message))
return
# raise Exception("Not valid material profile: %s" % (validation_message))
property_values = {}
properties = data.iterfind("./um:properties/*", self.__namespaces)