diff options
author | Jani Hautakangas <ext-jani.hautakangas@nokia.com> | 2010-08-23 09:54:49 (GMT) |
---|---|---|
committer | Jani Hautakangas <ext-jani.hautakangas@nokia.com> | 2010-08-23 11:15:15 (GMT) |
commit | 1d13522190346b20bf079ae48ce919c9e15a2c7a (patch) | |
tree | 151c4932e94fa072f8d3a286c27b08e2db63f8ab /src/opengl/qgl.cpp | |
parent | a17e68fd66e9232f3d4e74543680b52277578f04 (diff) | |
download | Qt-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.cpp | 5 |
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()) |