From 8267ef670a58becc5f21f2e9fba6c9520e81998a Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 15 Apr 2019 17:59:27 +0200 Subject: [PATCH] Greatly decrease amount of tickles to the backend for settingOverrideDecorator --- cura/Settings/SettingOverrideDecorator.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cura/Settings/SettingOverrideDecorator.py b/cura/Settings/SettingOverrideDecorator.py index d9b12720ac..d230953f9c 100644 --- a/cura/Settings/SettingOverrideDecorator.py +++ b/cura/Settings/SettingOverrideDecorator.py @@ -111,8 +111,9 @@ class SettingOverrideDecorator(SceneNodeDecorator): def _evaluateIsNonThumbnailVisibleMesh(self): return any(bool(self._stack.getProperty(setting, "value")) for setting in self._non_thumbnail_visible_settings) - def _onSettingChanged(self, instance, property_name): # Reminder: 'property' is a built-in function - if property_name == "value": + def _onSettingChanged(self, setting_key, property_name): # Reminder: 'property' is a built-in function + # We're only interested in a few settings and only if it's value changed. + if property_name == "value" and (setting_key in self._non_printing_mesh_settings or setting_key in self._non_thumbnail_visible_settings): # Trigger slice/need slicing if the value has changed. new_is_non_printing_mesh = self._evaluateIsNonPrintingMesh() new_is_non_thumbnail_visible_mesh = self._evaluateIsNonThumbnailVisibleMesh()