From 617419ccc64869dd28be8fef7ea079238a24fadf Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 23 Aug 2019 13:51:24 +0200 Subject: [PATCH] Use .container property of nodes to switch profiles This also fixes a crash when switching nozzles since the variant was set to a list of profiles rather than just one profile. Contributes to issue CURA-6600. --- cura/Settings/MachineManager.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 38c0379036..8c841d00c3 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1240,7 +1240,7 @@ class MachineManager(QObject): def _setVariantNode(self, position: str, variant_node: "VariantNode") -> None: if self._global_container_stack is None: return - self._global_container_stack.extruders[position].variant = CuraContainerRegistry.getInstance().findContainers(id = variant_node.container_id) + self._global_container_stack.extruders[position].variant = variant_node.container self.activeVariantChanged.emit() def _setGlobalVariant(self, container_node: "ContainerNode") -> None: @@ -1254,8 +1254,9 @@ class MachineManager(QObject): if self._global_container_stack is None: return if material_node: - self._global_container_stack.extruders[position].material = CuraContainerRegistry.getInstance().findContainers(id = material_node.container_id)[0] - root_material_id = material_node.container.getMetaDataEntry("base_file", None) + material_container = material_node.container + self._global_container_stack.extruders[position].material = material_container + root_material_id = material_container.getMetaDataEntry("base_file", None) else: self._global_container_stack.extruders[position].material = empty_material_container root_material_id = None