summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTrond Kjernåsen <trond.kjernasen@nokia.com>2010-05-10 10:09:12 (GMT)
committerTrond Kjernåsen <trond.kjernasen@nokia.com>2010-05-10 10:12:29 (GMT)
commit14f97fdd925ca27ca5f3058e652223e447f24358 (patch)
tree1dee39e5223f65aed5bc393d085b456833353c49 /src
parent6179db13b19b7b5e36b51abbb2cf8cb83f9f09d3 (diff)
downloadQt-14f97fdd925ca27ca5f3058e652223e447f24358.zip
Qt-14f97fdd925ca27ca5f3058e652223e447f24358.tar.gz
Qt-14f97fdd925ca27ca5f3058e652223e447f24358.tar.bz2
Fixed an issue with pixmaps not being released correctly in the GL 1 engine.
When a pixmap is bound using the texture_from_pixmap extension we retain a reference to the pixmap to stop us destroying it before swapBuffers() or glFlush() is called. The references were not cleared out correctly in the GL 1 engine. Task-number: QTBUG-10529 Reviewed-by: Samuel
Diffstat (limited to 'src')
-rw-r--r--src/opengl/qpaintengine_opengl.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp
index 57918d0..fc31548 100644
--- a/src/opengl/qpaintengine_opengl.cpp
+++ b/src/opengl/qpaintengine_opengl.cpp
@@ -1453,6 +1453,11 @@ bool QOpenGLPaintEngine::end()
d->device->endPaint();
qt_mask_texture_cache()->maintainCache();
+#if defined(Q_WS_X11)
+ // clear out the references we hold for textures bound with the
+ // texture_from_pixmap extension
+ ctx->d_func()->boundPixmaps.clear();
+#endif
return true;
}