diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-04-04 18:28:20 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-07 10:58:24 +0200 |
commit | f4f1f597d44d765a59f16a63e8c2e7d3bfeb2ea1 (patch) | |
tree | 3965eee18f218b2c344df0a231dfeb13db523a0b | |
parent | b5eb850e0deb61ff71e26a5a2d0e070b91306aa2 (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.cpp | 3 |
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() |