From 3ca7e2bb8d61b1f71886e1cd07f3d93c944d15a6 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 25 Aug 2016 13:57:21 +0200 Subject: [PATCH] Momentary fix for CURA-2173 We're not sure about the location and implementation but it fixes an important bug for now. At the very least this needs documentation. --- cura/Settings/MachineManager.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 22a7bb3a10..3f23b2493b 100644 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -239,6 +239,17 @@ class MachineManager(QObject): self.activeQualityChanged.emit() def _onPropertyChanged(self, key, property_name): + # HACK CURA-2173 + if property_name == "value": + if self._active_container_stack.getProperty(key, "settable_per_mesh") and not self._active_container_stack.getProperty(key, "settable_per_extruder"): + if self._active_container_stack and self._global_container_stack.getProperty("machine_extruder_count", "value") > 1: + new_value = self._global_container_stack.getProperty(key, "value") + stacks = [stack for stack in ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId())] + for extruder_stack in stacks: + if extruder_stack.getProperty(key, "value") != new_value: + extruder_stack.getTop().setProperty(key, "value", new_value) + # /HACK + if property_name == "validationState": if self._active_stack_valid: if self._active_container_stack.getProperty(key, "settable_per_extruder"):