From e864043e76d9c1d02d59f88ded79f7cd88f7cbbc Mon Sep 17 00:00:00 2001 From: Luke Campagnola Date: Tue, 18 Jun 2013 21:46:50 -0400 Subject: [PATCH] delete texture and framebuffer after export --- pyqtgraph/opengl/GLViewWidget.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pyqtgraph/opengl/GLViewWidget.py b/pyqtgraph/opengl/GLViewWidget.py index 83034887..afab475c 100644 --- a/pyqtgraph/opengl/GLViewWidget.py +++ b/pyqtgraph/opengl/GLViewWidget.py @@ -350,7 +350,8 @@ class GLViewWidget(QtOpenGL.QGLWidget): w,h = map(int, size) self.makeCurrent() - + tex = None + fb = None try: output = np.empty((w, h, 4), dtype=np.ubyte) fb = glfbo.glGenFramebuffers(1) @@ -387,11 +388,15 @@ class GLViewWidget(QtOpenGL.QGLWidget): data = glGetTexImage(GL_TEXTURE_2D, 0, format, type) data = np.fromstring(data, dtype=np.ubyte).reshape(texwidth,texwidth,4).transpose(1,0,2)[:, ::-1] output[x:x2, y:y2] = data[:w2, -h2:] - + finally: self.opts['viewport'] = None glfbo.glBindFramebuffer(glfbo.GL_FRAMEBUFFER, 0) glBindTexture(GL_TEXTURE_2D, 0) + if tex is not None: + glDeleteTextures([tex]) + if fb is not None: + glfbo.glDeleteFramebuffers([fb]) return output