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():