diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 8fa0172305..6e462031dc 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -344,7 +344,9 @@ class ExtruderManager(QObject): self._fixSingleExtrusionMachineExtruderDefinition(global_stack) if extruders_changed: self.extrudersChanged.emit(global_stack_id) - self.setActiveExtruderIndex(0) + + # Set it directly instead of using setActiveExtruder, since we want to force the signal to emitted. + self._active_extruder_index = 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 2185bbce9d..755d05d71e 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -385,7 +385,6 @@ 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 12b541c3d8..3815d85e81 100644 --- a/cura/Settings/SettingInheritanceManager.py +++ b/cura/Settings/SettingInheritanceManager.py @@ -249,7 +249,6 @@ 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()