From 1fe142ad1fc8d5d8344bf581f80e6841dd2f018f Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Mon, 8 May 2017 10:50:15 +0200 Subject: [PATCH] Fix crashing Cura when switching multi extruder machine to single extruder machine while object selected. CURA-3776 --- cura/Settings/ExtruderManager.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index b82144bf1e..0f649e5860 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -35,7 +35,7 @@ class ExtruderManager(QObject): ## Registers listeners and such to listen to changes to the extruders. def __init__(self, parent = None): super().__init__(parent) - self._extruder_trains = { } #Per machine, a dictionary of extruder container stack IDs. + self._extruder_trains = { } #Per machine, a dictionary of extruder container stack IDs. Only for separately defined extruders. self._active_extruder_index = 0 self._selected_object_extruders = [] Application.getInstance().globalContainerStackChanged.connect(self.__globalContainerStackChanged) @@ -151,7 +151,8 @@ class ExtruderManager(QObject): object_extruders.add(extruder) else: global_stack = Application.getInstance().getGlobalContainerStack() - object_extruders.add(self._extruder_trains[global_stack.getId()]["0"].getId()) + if global_stack.getId() in self._extruder_trains: + object_extruders.add(self._extruder_trains[global_stack.getId()]["0"].getId()) self._selected_object_extruders = list(object_extruders)