Browse Source

CURA-4821 The previous cached layer data is removed when a GCode is loaded. Temporary solution for one buildplate.

Diego Prado Gesto 7 years ago
parent
commit
ece63bfea8
1 changed files with 7 additions and 0 deletions
  1. 7 0
      plugins/CuraEngineBackend/CuraEngineBackend.py

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