diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 2e9a643be4..8a1be1d6d3 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1016,27 +1016,35 @@ class MachineManager(QObject): def _setQualityChangesGroup(self, quality_changes_group): quality_type = quality_changes_group.quality_type - quality_group_dict = self._quality_manager.getQualityGroups(self._global_container_stack) - quality_group = quality_group_dict[quality_type] + # A custom quality can be created based on "not supported". + # In that case, do not set quality containers to empty. + if quality_type == "not_supported": + quality_group = None + else: + quality_group_dict = self._quality_manager.getQualityGroups(self._global_container_stack) + quality_group = quality_group_dict[quality_type] quality_changes_container = self._empty_quality_changes_container - quality_container = self._empty_quality_changes_container if quality_changes_group.node_for_global: quality_changes_container = quality_changes_group.node_for_global.getContainer() - if quality_group.node_for_global: - quality_container = quality_group.node_for_global.getContainer() + quality_container = self._empty_quality_changes_container + if quality_group is not None: + if quality_group.node_for_global: + quality_container = quality_group.node_for_global.getContainer() self._global_container_stack.quality = quality_container self._global_container_stack.qualityChanges = quality_changes_container for position, extruder in self._global_container_stack.extruders.items(): quality_changes_node = quality_changes_group.nodes_for_extruders.get(position) - quality_node = quality_group.nodes_for_extruders.get(position) + quality_node = None + if quality_group is not None: + quality_node = quality_group.nodes_for_extruders.get(position) quality_changes_container = self._empty_quality_changes_container - quality_container = self._empty_quality_container if quality_changes_node: quality_changes_container = quality_changes_node.getContainer() + quality_container = self._empty_quality_container if quality_node: quality_container = quality_node.getContainer()