From ab2a6136d700167b5df7803fc8d46e0676a05728 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 23 May 2016 13:20:42 +0200 Subject: [PATCH] Filter setting changed listener properly The parameters of the listener were out of date and it should only trigger a reslice if we're changing the value of a setting, not any other property. Contributes to issue CURA-1278. --- plugins/CuraEngineBackend/CuraEngineBackend.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 7aaba3edce..b101fae5fd 100644 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -123,8 +123,7 @@ class CuraEngineBackend(Backend): ## Perform a slice of the scene. def slice(self): - - if not self._enabled: + if not self._enabled: #We shouldn't be slicing. return if self._slicing: @@ -225,8 +224,13 @@ class CuraEngineBackend(Backend): self._profile.settingValueChanged.connect(self._onSettingChanged) self._onChanged() - def _onSettingChanged(self, setting): - self._onChanged() + ## A setting has changed, so check if we must reslice. + # + # \param instance The setting instance that has changed. + # \param property The property of the setting instance that has changed. + def _onSettingChanged(self, instance, property): + if property == "value": #Only reslice if the value has changed. + self._onChanged() def _onLayerMessage(self, message): self._stored_layer_data.append(message)