summaryrefslogtreecommitdiffstats
path: root/examples/painting/shared
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2012-06-08 13:45:43 +0200
committerQt by Nokia <qt-info@nokia.com>2012-06-09 10:45:01 +0200
commite454000abc6ddcaff9d42bd8b4365bd89d53ca15 (patch)
tree09aeeb121e3df60d96369a91c5481e3fdafa3c22 /examples/painting/shared
parente03d1ae953cef9f7ef8ce551c767de3e9d97fb52 (diff)
Fix assert in painting demos when switching to OpenGL.
Fix creation order. The ArthurFrame receives a paint event with OpenGL set to true when the glw-member is still 0. Task-number: QTBUG-26084 Change-Id: Ib4b568d22ae925542e3a775403e4c983ea0b4de5 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'examples/painting/shared')
-rw-r--r--examples/painting/shared/arthurwidgets.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/examples/painting/shared/arthurwidgets.cpp b/examples/painting/shared/arthurwidgets.cpp
index 695aa984b6..cf790fea3b 100644
--- a/examples/painting/shared/arthurwidgets.cpp
+++ b/examples/painting/shared/arthurwidgets.cpp
@@ -87,19 +87,22 @@ ArthurFrame::ArthurFrame(QWidget *parent)
#ifdef QT_OPENGL_SUPPORT
void ArthurFrame::enableOpenGL(bool use_opengl)
{
- m_use_opengl = use_opengl;
+ if (m_use_opengl == use_opengl)
+ return;
- if (!glw) {
+ if (!glw && use_opengl) {
glw = new GLWidget(this);
glw->setAutoFillBackground(false);
glw->disableAutoBufferSwap();
QApplication::postEvent(this, new QResizeEvent(size(), size()));
}
+ m_use_opengl = use_opengl;
if (use_opengl) {
glw->show();
} else {
- glw->hide();
+ if (glw)
+ glw->hide();
}
update();