Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGhostkeeper <rubend@tutanota.com>2017-09-22 12:17:42 +0300
committerGhostkeeper <rubend@tutanota.com>2017-09-22 12:17:42 +0300
commit1596437bbdbcfc22875aa18db78428a9e1e70acc (patch)
tree7bf38bb78610f766a0f6421a92c11daca0a20cb2 /cura/Settings
parent88155d35e8987a61fefeb3cb4f94e18d3f1ca101 (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-xcura/Settings/MachineManager.py42
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