summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2014-04-04 18:28:20 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-07 10:58:24 +0200
commitf4f1f597d44d765a59f16a63e8c2e7d3bfeb2ea1 (patch)
tree3965eee18f218b2c344df0a231dfeb13db523a0b
parentb5eb850e0deb61ff71e26a5a2d0e070b91306aa2 (diff)
Fix a crash on startup with QOpenGLWidget
After c4aabeb2b82d777bb555f836f55e1f7ae4fb4581 we now try to access q_ptr in QWidgetPrivate::setRenderToTexture. QOpenGLWidget needs to delay this call after the QObject constructor is done to make sure that setTextureChildSeen doesn't dereference q_ptr before it has been initialized. Change-Id: Icaee82c8b806f42bc7614b0ac6fe4e6026331750 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
-rw-r--r--src/widgets/kernel/qopenglwidget.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/widgets/kernel/qopenglwidget.cpp b/src/widgets/kernel/qopenglwidget.cpp
index 8b0d7d525a..d9bc2f7bbd 100644
--- a/src/widgets/kernel/qopenglwidget.cpp
+++ b/src/widgets/kernel/qopenglwidget.cpp
@@ -60,7 +60,6 @@ public:
QOpenGLWidgetPrivate()
: fbo(0), uninitialized(true)
{
- setRenderToTexture();
}
GLuint textureId() const { return fbo ? fbo->texture() : 0; }
@@ -91,6 +90,8 @@ void QOpenGLWidgetPrivate::initialize()
QOpenGLWidget::QOpenGLWidget(QWidget *parent, Qt::WindowFlags f)
: QWidget(*(new QOpenGLWidgetPrivate), parent, f)
{
+ Q_D(QOpenGLWidget);
+ d->setRenderToTexture();
}
QOpenGLWidget::~QOpenGLWidget()