From e454000abc6ddcaff9d42bd8b4365bd89d53ca15 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 8 Jun 2012 13:45:43 +0200 Subject: 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 Reviewed-by: Friedemann Kleint --- examples/painting/shared/arthurwidgets.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'examples/painting') 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(); -- cgit v1.2.3