From 3e474c1107e4e65f8434dfdd40e3552aad33af9c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 19 Sep 2019 14:54:58 +0200 Subject: [PATCH] Ensure that enabling & disabling an extruder gets handled correctly CURA-6775 --- cura/Machines/Models/IntentModel.py | 3 +++ cura/Settings/MachineManager.py | 2 ++ 2 files changed, 5 insertions(+) diff --git a/cura/Machines/Models/IntentModel.py b/cura/Machines/Models/IntentModel.py index 79d26db8d3..e105f012cd 100644 --- a/cura/Machines/Models/IntentModel.py +++ b/cura/Machines/Models/IntentModel.py @@ -35,6 +35,7 @@ class IntentModel(ListModel): machine_manager = cura.CuraApplication.CuraApplication.getInstance().getMachineManager() machine_manager.globalContainerChanged.connect(self._update) + machine_manager.extruderChanged.connect(self._update) # We also need to update if an extruder gets disabled ContainerRegistry.getInstance().containerAdded.connect(self._onChanged) ContainerRegistry.getInstance().containerRemoved.connect(self._onChanged) self._layer_height_unit = "" # This is cached @@ -74,6 +75,8 @@ class IntentModel(ListModel): active_extruder = None for extruder in global_stack.extruderList: + if not extruder.isEnabled: + continue if extruder.intent.getMetaDataEntry("intent_category", "default") == "default": if active_extruder is None: active_extruder = extruder # If there is no extruder found and the intent is default, use that. diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 8c4f9a0e80..277ecd1a86 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1289,6 +1289,8 @@ class MachineManager(QObject): category = "default" for extruder in global_stack.extruderList: + if not extruder.isEnabled: + continue current_category = extruder.intent.getMetaDataEntry("intent_category", "default") if current_category != "default" and current_category != category: category = current_category