Fix PPA crashing on single-extruder printers

The machine manager was leading to a crash when trying to enable
the second extruder in single-extrusion printers, because the check
for the second extruder was not correctly implemented. This commit
fixes that issue by checking if the global stack has the specified
extruder. If it does not, then the function returns while logging the
issue.

CURA-7048
This commit is contained in:
Kostas Karmas 2019-12-16 14:04:16 +01:00 committed by Jaime van Kessel
parent cef0ae349d
commit a1d7eefc42
No known key found for this signature in database
GPG key ID: 3710727397403C91

View file

@ -894,8 +894,8 @@ class MachineManager(QObject):
@pyqtSlot(int, bool)
def setExtruderEnabled(self, position: int, enabled: bool) -> None:
if self._global_container_stack is None:
Logger.log("w", "Could not find extruder on position %s", position)
if self._global_container_stack is None or position not in self._global_container_stack.extruders:
Logger.log("w", "Could not find extruder on position %s.", position)
return
extruder = self._global_container_stack.extruderList[position]