Browse Source

Fixed possible errors and typing error. CURA-5389

Jack Ha 6 years ago
parent
commit
111a3556d2
2 changed files with 7 additions and 1 deletions
  1. 1 1
      cura/Machines/QualityManager.py
  2. 6 0
      cura/Settings/MachineManager.py

+ 1 - 1
cura/Machines/QualityManager.py

@@ -340,7 +340,7 @@ class QualityManager(QObject):
 
         return quality_group_dict
 
-    def getDefaultQualityType(self, machine: "GlobalStack") -> QualityGroup:
+    def getDefaultQualityType(self, machine: "GlobalStack") -> Optional[QualityGroup]:
         preferred_quality_type = machine.definition.getMetaDataEntry("preferred_quality_type")
         quality_group_dict = self.getQualityGroups(machine)
         quality_group = quality_group_dict.get(preferred_quality_type)

+ 6 - 0
cura/Settings/MachineManager.py

@@ -1444,6 +1444,12 @@ class MachineManager(QObject):
     @pyqtSlot(QObject)
     def setQualityGroup(self, quality_group: QualityGroup, no_dialog: bool = False, global_stack: Optional["GlobalStack"] = None) -> None:
         if global_stack is not None and global_stack != self._global_container_stack:
+            if quality_group is None:
+                Logger.log("e", "Could not set quality group because quality group is None")
+                return
+            if quality_group.node_for_global is None:
+                Logger.log("e", "Could not set quality group [%s] because it has no node_for_global", str(quality_group))
+                return
             global_stack.quality = quality_group.node_for_global.getContainer()
             for extruder_nr, extruder_stack in global_stack.extruders.items():
                 extruder_stack.quality = quality_group.nodes_for_extruders[extruder_nr].getContainer()