diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2012-06-08 13:45:43 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-09 10:45:01 +0200 |
commit | e454000abc6ddcaff9d42bd8b4365bd89d53ca15 (patch) | |
tree | 09aeeb121e3df60d96369a91c5481e3fdafa3c22 /examples | |
parent | e03d1ae953cef9f7ef8ce551c767de3e9d97fb52 (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')
-rw-r--r-- | examples/painting/shared/arthurwidgets.cpp | 9 |
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(); |