From e66548099a728fb1bbbfb76d2f4f9107dd33ab3e Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Tue, 4 Oct 2016 15:25:22 +0200 Subject: [PATCH] Fixed signal routing when switching between different machines. CURA-2232 --- cura/Settings/ExtruderManager.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 24b9e01f07..071806e3ba 100644 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -141,10 +141,9 @@ class ExtruderManager(QObject): for extruder_train in extruder_trains: self._extruder_trains[machine_id][extruder_train.getMetaDataEntry("position")] = extruder_train - # Make sure the next stack is a stack that contains only the machine definition - if not extruder_train.getNextStack(): - extruder_train.setNextStack(UM.Application.getInstance().getGlobalContainerStack()) - changed = True + # regardless of what the next stack is, we have to set it again, because of signal routing. + extruder_train.setNextStack(UM.Application.getInstance().getGlobalContainerStack()) + changed = True if changed: self.extrudersChanged.emit(machine_id) @@ -260,9 +259,8 @@ class ExtruderManager(QObject): container_registry.addContainer(user_profile) container_stack.addContainer(user_profile) - # Make sure the next stack is a stack that contains only the machine definition - if not container_stack.getNextStack(): - container_stack.setNextStack(UM.Application.getInstance().getGlobalContainerStack()) + # regardless of what the next stack is, we have to set it again, because of signal routing. + container_stack.setNextStack(UM.Application.getInstance().getGlobalContainerStack()) container_registry.addContainer(container_stack)