From a9976e93c13bcdf7c6061f852a4f97bcf103c1b2 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Thu, 8 Mar 2018 13:57:11 +0100 Subject: [PATCH] CURA-4400 fix per object setting change reslicing without reevaluate is non printing mesh all the time --- cura/Settings/SettingOverrideDecorator.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cura/Settings/SettingOverrideDecorator.py b/cura/Settings/SettingOverrideDecorator.py index 357bc87024..9054d9d04f 100644 --- a/cura/Settings/SettingOverrideDecorator.py +++ b/cura/Settings/SettingOverrideDecorator.py @@ -94,8 +94,13 @@ class SettingOverrideDecorator(SceneNodeDecorator): return any(bool(self._stack.getProperty(setting, "value")) for setting in self._non_printing_mesh_settings) def _onSettingChanged(self, instance, property_name): # Reminder: 'property' is a built-in function - # Trigger slice/need slicing if the value has changed. - if property_name == "value" and instance in self._non_printing_mesh_settings: + object_has_instance_setting = False + for container in self._stack.getContainers(): + if container.hasProperty(instance, "value"): + object_has_instance_setting = True + break + if property_name == "value" and object_has_instance_setting: + # Trigger slice/need slicing if the value has changed. self._is_non_printing_mesh = self.evaluateIsNonPrintingMesh() Application.getInstance().getBackend().needsSlicing()