Use GlobalStack.extrudersList instead of GlobalStack.extruders to iterate

Otherwise the iteration can happen in any arbitrary order (due to the dict) and this can cause the result to not match to the desired combination of configurations per extruder.

Contributes to issue CURA-6600.
This commit is contained in:
Ghostkeeper 2019-09-06 17:20:03 +02:00
parent 4bdc819f12
commit 8bcd9b339a
No known key found for this signature in database
GPG key ID: 86BEF881AE2CF276
3 changed files with 12 additions and 12 deletions

View file

@ -368,9 +368,9 @@ class Toolbox(QObject, Extension):
default_material_node = material_manager.getDefaultMaterial(global_stack, extruder_nr, global_stack.extruders[extruder_nr].variant.getName())
machine_manager.setMaterial(extruder_nr, default_material_node, global_stack = global_stack)
for global_stack, extruder_nr, container_id in self._package_used_qualities:
variant_names = [extruder.variant.getName() for extruder in global_stack.extruders.values()]
material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in global_stack.extruders.values()]
extruder_enabled = [extruder.isEnabled for extruder in global_stack.extruders.values()]
variant_names = [extruder.variant.getName() for extruder in global_stack.extrudersList]
material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in global_stack.extrudersList]
extruder_enabled = [extruder.isEnabled for extruder in global_stack.extrudersList]
definition_id = global_stack.definition.getId()
machine_node = container_tree.machines[definition_id]
default_quality_group = machine_node.getQualityGroups(variant_names, material_bases, extruder_enabled)[machine_node.preferred_quality_type]