Account for the fact that createMachine can return None

Contributes to issue CURA-5337.
See also #3787.
This commit is contained in:
Ghostkeeper 2018-06-07 11:36:30 +02:00
parent f828c135f8
commit 624bbbeb4a
No known key found for this signature in database
GPG key ID: 5252B696FB5E7C7A
2 changed files with 6 additions and 3 deletions

View file

@ -1236,7 +1236,7 @@ class MachineManager(QObject):
## Given a printer definition name, select the right machine instance. In case it doesn't exist, create a new
# instance with the same network key.
@pyqtSlot(str)
def switchPrinterType(self, machine_name: str):
def switchPrinterType(self, machine_name: str) -> None:
# Don't switch if the user tries to change to the same type of printer
if self.activeMachineDefinitionName == machine_name:
return
@ -1247,6 +1247,8 @@ class MachineManager(QObject):
# If there is no machine, then create a new one and set it to the non-hidden instance
if not new_machine:
new_machine = CuraStackBuilder.createMachine(machine_definition_id + "_sync", machine_definition_id)
if not new_machine:
return
new_machine.addMetaDataEntry("um_network_key", self.activeMachineNetworkKey)
new_machine.addMetaDataEntry("connect_group_name", self.activeMachineNetworkGroupName)
new_machine.addMetaDataEntry("hidden", False)

View file

@ -606,6 +606,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
machine_name = self._container_registry.uniqueName(self._machine_info.name)
global_stack = CuraStackBuilder.createMachine(machine_name, self._machine_info.definition_id)
if global_stack: #Only switch if creating the machine was successful.
extruder_stack_dict = global_stack.extruders
self._container_registry.addContainer(global_stack)