diff options
author | Ghostkeeper <rubend@tutanota.com> | 2017-09-22 12:17:42 +0300 |
---|---|---|
committer | Ghostkeeper <rubend@tutanota.com> | 2017-09-22 12:17:42 +0300 |
commit | 1596437bbdbcfc22875aa18db78428a9e1e70acc (patch) | |
tree | 7bf38bb78610f766a0f6421a92c11daca0a20cb2 /cura/Settings | |
parent | 88155d35e8987a61fefeb3cb4f94e18d3f1ca101 (diff) |
getActiveGlobalAndContainerStacks may return None
Change the code to reflect on this. Mostly this is to fix up the type warnings, because we were already checking for there being no global container stack but that was not thread-safe.
Contributes to issue CURA-4357.
Diffstat (limited to 'cura/Settings')
-rwxr-xr-x | cura/Settings/MachineManager.py | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index a2d32a35ea..26deaa6987 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -497,8 +497,9 @@ class MachineManager(QObject): @pyqtProperty("QVariantList", notify=activeVariantChanged) def activeVariantNames(self): result = [] - if ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks() is not None: - for stack in ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks(): + active_stacks = ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks() + if active_stacks is not None: + for stack in active_stacks: variant_container = stack.variant if variant_container and variant_container != self._empty_variant_container: result.append(variant_container.getName()) @@ -508,8 +509,9 @@ class MachineManager(QObject): @pyqtProperty("QVariantList", notify = activeMaterialChanged) def activeMaterialNames(self): result = [] - if ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks() is not None: - for stack in ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks(): + active_stacks = ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks() + if active_stacks is not None: + for stack in active_stacks: material_container = stack.material if material_container and material_container != self._empty_material_container: result.append(material_container.getName()) @@ -526,33 +528,29 @@ class MachineManager(QObject): @pyqtProperty("QVariantMap", notify = activeVariantChanged) def allActiveVariantIds(self): - if not self._global_container_stack: - return {} - result = {} + active_stacks = ExtruderManager.getInstance().getActiveExtruderStacks() + if active_stacks is not None: #If we have a global stack. + for stack in active_stacks: + variant_container = stack.variant + if not variant_container: + continue - for stack in ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks(): - variant_container = stack.variant - if not variant_container: - continue - - result[stack.getId()] = variant_container.getId() + result[stack.getId()] = variant_container.getId() return result @pyqtProperty("QVariantMap", notify = activeMaterialChanged) def allActiveMaterialIds(self): - if not self._global_container_stack: - return {} - result = {} + active_stacks = ExtruderManager.getInstance().getActiveExtruderStacks() + if active_stacks is not None: #If we have a global stack. + for stack in active_stacks: + material_container = stack.material + if not material_container: + continue - for stack in ExtruderManager.getInstance().getActiveGlobalAndExtruderStacks(): - material_container = stack.material - if not material_container: - continue - - result[stack.getId()] = material_container.getId() + result[stack.getId()] = material_container.getId() return result |