chiark / gitweb /
Fixes #78: VBO properly released
authorJustin Nesselrotte <jnesselr@harding.edu>
Wed, 7 Jan 2015 08:11:54 +0000 (02:11 -0600)
committerJustin Nesselrotte <jnesselr@harding.edu>
Wed, 7 Jan 2015 08:11:54 +0000 (02:11 -0600)
Cura/gui/sceneView.py

index 1fd4b06aa6a019f905f149d8baf8747ce19275ef..48c975d3e68344c7e43f947c1d9c8128524ab12a 100644 (file)
@@ -52,6 +52,7 @@ class SceneView(openglGui.glGuiPanel):
                self._animView = None
                self._animZoom = None
                self._platformMesh = {}
+               self.glReleaseList = []
                self._platformTexture = None
                self._isSimpleMode = True
                self._printerConnectionManager = printerConnectionManager.PrinterConnectionManager()
@@ -121,6 +122,8 @@ class SceneView(openglGui.glGuiPanel):
                self.updateProfileToControls()
 
        def cleanup(self):
+               # Delete all objects first
+               self.OnDeleteAll(None)
                self._engine.cleanup()
                if self._objectShader is not None:
                        self._objectShader.release()
@@ -128,6 +131,8 @@ class SceneView(openglGui.glGuiPanel):
                        self._objectLoadShader.release()
                if self._objectOverhangShader is not None:
                        self._objectOverhangShader.release()
+               for obj in self.glReleaseList:
+                       obj.release()
 
        def loadGCodeFile(self, filename):
                self.OnDeleteAll(None)