summaryrefslogtreecommitdiffstats
path: root/src/opengl/qgl.cpp
diff options
context:
space:
mode:
authorJani Hautakangas <ext-jani.hautakangas@nokia.com>2010-08-23 09:54:49 (GMT)
committerJani Hautakangas <ext-jani.hautakangas@nokia.com>2010-08-23 11:15:15 (GMT)
commit1d13522190346b20bf079ae48ce919c9e15a2c7a (patch)
tree151c4932e94fa072f8d3a286c27b08e2db63f8ab /src/opengl/qgl.cpp
parenta17e68fd66e9232f3d4e74543680b52277578f04 (diff)
downloadQt-1d13522190346b20bf079ae48ce919c9e15a2c7a.zip
Qt-1d13522190346b20bf079ae48ce919c9e15a2c7a.tar.gz
Qt-1d13522190346b20bf079ae48ce919c9e15a2c7a.tar.bz2
On Symbian QGLWidget::glDraw() must do nothing if widget isn't visible.
Otherwise application crashes because rendering to invisible window surface will panic eventually. Reviewed-by: Trond
Diffstat (limited to 'src/opengl/qgl.cpp')
-rw-r--r--src/opengl/qgl.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
index 51187cf..9e69816 100644
--- a/src/opengl/qgl.cpp
+++ b/src/opengl/qgl.cpp
@@ -4445,6 +4445,11 @@ void QGLWidget::glDraw()
Q_D(QGLWidget);
if (!isValid())
return;
+#ifdef Q_OS_SYMBIAN
+ // Crashes on Symbian if trying to render to invisible surfaces
+ if (!isVisible() && d->glcx->device()->devType() == QInternal::Widget)
+ return;
+#endif
makeCurrent();
#ifndef QT_OPENGL_ES
if (d->glcx->deviceIsPixmap())