From ece63bfea8231411ef63e64623f3b666df42f66c Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Thu, 18 Jan 2018 15:47:01 +0100 Subject: [PATCH] CURA-4821 The previous cached layer data is removed when a GCode is loaded. Temporary solution for one buildplate. --- plugins/CuraEngineBackend/CuraEngineBackend.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 9713211ad3..85699ea0f5 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -426,6 +426,13 @@ class CuraEngineBackend(QObject, Backend): if not isinstance(source, SceneNode): return + # This case checks if the source node is a node that contains a GCode. In this case the + # cached layer data is removed so the previous data is not rendered - CURA-4821 + if source.callDecoration("isBlockSlicing") and source.callDecoration("getLayerData"): + if self._stored_optimized_layer_data: + print(self._stored_optimized_layer_data) + del self._stored_optimized_layer_data[source.callDecoration("getBuildPlateNumber")] + build_plate_changed = set() source_build_plate_number = source.callDecoration("getBuildPlateNumber") if source == self._scene.getRoot():