diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 98f8473225..3710d33965 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -88,10 +88,6 @@ class CuraEngineBackend(QObject, Backend): Application.getInstance().globalContainerStackChanged.connect(self._onGlobalStackChanged) self._onGlobalStackChanged() - self._active_extruder_stack = None - ExtruderManager.getInstance().activeExtruderChanged.connect(self._onActiveExtruderChanged) - self._onActiveExtruderChanged() - Application.getInstance().stacksValidationFinished.connect(self._onStackErrorCheckFinished) # A flag indicating if an error check was scheduled @@ -622,6 +618,7 @@ class CuraEngineBackend(QObject, Backend): for extruder in extruders: extruder.propertyChanged.disconnect(self._onSettingChanged) + extruder.containersChanged.disconnect(self._onChanged) self._global_container_stack = Application.getInstance().getGlobalContainerStack() @@ -631,23 +628,9 @@ class CuraEngineBackend(QObject, Backend): extruders = list(ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId())) for extruder in extruders: extruder.propertyChanged.connect(self._onSettingChanged) - self._onActiveExtruderChanged() + extruder.containersChanged.connect(self._onChanged) self._onChanged() - def _onActiveExtruderChanged(self): - if self._global_container_stack: - # Connect all extruders of the active machine. This might cause a few connects that have already happend, - # but that shouldn't cause issues as only new / unique connections are added. - extruders = list(ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId())) - for extruder in extruders: - extruder.propertyChanged.connect(self._onSettingChanged) - if self._active_extruder_stack: - self._active_extruder_stack.containersChanged.disconnect(self._onChanged) - - self._active_extruder_stack = ExtruderManager.getInstance().getActiveExtruderStack() - if self._active_extruder_stack: - self._active_extruder_stack.containersChanged.connect(self._onChanged) - def _onProcessLayersFinished(self, job): self._process_layers_job = None