diff options
author | Trond Kjernåsen <trond.kjernasen@nokia.com> | 2010-05-10 10:09:12 (GMT) |
---|---|---|
committer | Trond Kjernåsen <trond.kjernasen@nokia.com> | 2010-05-10 10:12:29 (GMT) |
commit | 14f97fdd925ca27ca5f3058e652223e447f24358 (patch) | |
tree | 1dee39e5223f65aed5bc393d085b456833353c49 /src | |
parent | 6179db13b19b7b5e36b51abbb2cf8cb83f9f09d3 (diff) | |
download | Qt-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.cpp | 5 |
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; } |