diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 6e462031dc..8fa0172305 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -344,9 +344,7 @@ class ExtruderManager(QObject): self._fixSingleExtrusionMachineExtruderDefinition(global_stack) if extruders_changed: self.extrudersChanged.emit(global_stack_id) - - # Set it directly instead of using setActiveExtruder, since we want to force the signal to emitted. - self._active_extruder_index = 0 + self.setActiveExtruderIndex(0) self.activeExtruderChanged.emit() # After 3.4, all single-extrusion machines have their own extruder definition files instead of reusing diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 755d05d71e..2185bbce9d 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -385,6 +385,7 @@ class MachineManager(QObject): self._application.setGlobalContainerStack(global_stack) ExtruderManager.getInstance()._globalContainerStackChanged() self._initMachineState(global_stack) + self._onGlobalContainerChanged() self.__emitChangedSignals() diff --git a/cura/Settings/SettingInheritanceManager.py b/cura/Settings/SettingInheritanceManager.py index 3815d85e81..12b541c3d8 100644 --- a/cura/Settings/SettingInheritanceManager.py +++ b/cura/Settings/SettingInheritanceManager.py @@ -249,6 +249,7 @@ class SettingInheritanceManager(QObject): if self._global_container_stack: self._global_container_stack.containersChanged.connect(self._onContainersChanged) self._global_container_stack.propertyChanged.connect(self._onPropertyChanged) + self._onActiveExtruderChanged() def _onContainersChanged(self, container): self._update_timer.start()