From bb1475d1fd71b3857f2e3338a5fbe7cf4cf89ef7 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 8 Aug 2017 16:32:01 +0200 Subject: [PATCH] Search for instance containers with type material CURA-4129 --- cura/Settings/ContainerManager.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index 840e8a7602..aea04ade34 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -336,19 +336,15 @@ class ContainerManager(QObject): # check if this is a material container. If so, check if any material with the same GUID is being used by any # stacks. container_ids_to_check = [container_id] - container_results = self._container_registry.findInstanceContainers(id = container_id) + container_results = self._container_registry.findInstanceContainers(id = container_id, type = "material") if container_results: this_container = container_results[0] container_guid = this_container.getMetaDataEntry("GUID") - # FIXME: only material containers have GUIDs, but to make it safer, metadata/material is also checked. - # but note that this is not a proper way to check whether a container is a material container. - # there should be a better way to do this - is_material = container_guid and this_container.getMetaDataEntry("material") - if is_material: - # check all material container IDs with the same guid - material_containers = self._container_registry.findInstanceContainers(GUID = container_guid) - if material_containers: - container_ids_to_check = [container.getId() for container in material_containers] + # check all material container IDs with the same GUID + material_containers = self._container_registry.findInstanceContainers(GUID = container_guid, + type = "material") + if material_containers: + container_ids_to_check = [container.getId() for container in material_containers] all_stacks = self._container_registry.findContainerStacks() for stack in all_stacks: