From b27e5a1f77a32f6b5d30c008cd593b82df2e0f07 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 12 Sep 2018 13:59:09 +0200 Subject: [PATCH] Fix getActiveExtruderStacks() CURA-5719 The dict values can be a random list. We need to fetch the first N extruders starting from position 0. --- cura/Settings/ExtruderManager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 479e69f558..230759e775 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -311,11 +311,11 @@ class ExtruderManager(QObject): if not global_stack: return [] - result = list(global_stack.extruders.values()) + result_tuple_list = sorted(list(global_stack.extruders.items()), key = lambda x: int(x[0])) + result_list = [item[1] for item in result_tuple_list] machine_extruder_count = global_stack.getProperty("machine_extruder_count", "value") - - return result[:machine_extruder_count] + return result_list[:machine_extruder_count] def _globalContainerStackChanged(self) -> None: # If the global container changed, the machine changed and might have extruders that were not registered yet