From 1aea5356b622a3562ace458396a6b3e76bd9da02 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 27 Mar 2018 09:43:37 +0200 Subject: [PATCH] More early out if no global stack This prevents all sorts of crashes on start-up, instead causing no active printer to appear and the add printer wizard to show up. Contributes to issue CURA-5045. --- cura/Settings/MachineManager.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 1cda7711d3..f868cfffec 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1014,6 +1014,8 @@ class MachineManager(QObject): self.activeQualityChangesGroupChanged.emit() def _setQualityChangesGroup(self, quality_changes_group): + if self._global_container_stack is None: + return #Can't change that. quality_type = quality_changes_group.quality_type quality_group_dict = self._quality_manager.getQualityGroups(self._global_container_stack) quality_group = quality_group_dict[quality_type] @@ -1082,6 +1084,8 @@ class MachineManager(QObject): ## Update current quality type and machine after setting material def _updateQualityWithMaterial(self, *args): + if self._global_container_stack is None: + return Logger.log("i", "Updating quality/quality_changes due to material change") current_quality_type = None if self._current_quality_group: @@ -1280,6 +1284,8 @@ class MachineManager(QObject): @pyqtSlot(str) def setQualityGroupByQualityType(self, quality_type): + if self._global_container_stack is None: + return # Get all the quality groups for this global stack and filter out by quality_type quality_group_dict = self._quality_manager.getQualityGroups(self._global_container_stack) quality_group = quality_group_dict[quality_type]