From 5d5de7a97fa0f6fc4b83403a7c282d180f4e2060 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Tue, 16 Sep 2014 12:36:02 +0200 Subject: [PATCH] QOpenGLWidget: Play nice with empty paintGL Applications that do not override paintGL() (may happen in some test code) will not perform any GL rendering, not even clearing. This is fine, but to be safe we need to do a clear right after creating the FBO in order to prevent showing garbage. Task-number: QTBUG-38327 Change-Id: If062901bb18724f961e41856085470e37b49abbe Reviewed-by: Gunnar Sletta --- src/widgets/kernel/qopenglwidget.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/widgets/kernel/qopenglwidget.cpp b/src/widgets/kernel/qopenglwidget.cpp index 524597f7a16..13e3ee876b5 100644 --- a/src/widgets/kernel/qopenglwidget.cpp +++ b/src/widgets/kernel/qopenglwidget.cpp @@ -563,6 +563,7 @@ void QOpenGLWidgetPrivate::recreateFbo() resolvedFbo = new QOpenGLFramebufferObject(deviceSize); fbo->bind(); + context->functions()->glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); paintDevice->setSize(deviceSize); paintDevice->setDevicePixelRatio(q->devicePixelRatio());