diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-03-14 13:34:13 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-03-15 11:27:20 +0000 |
commit | c8a4bdb603ca8bd98439614e2bca07bce2793303 (patch) | |
tree | 642d6e1cb5927828426b8dd01a505f303a6829d7 | |
parent | 49051ef831126e2fae26ac2bc8c9aee5bd3a48aa (diff) | |
download | qtbase-c8a4bdb603ca8bd98439614e2bca07bce2793303.tar.gz |
sub-attaq example: Fix crash with software Open GL
Check whether an Open GL context could be created, else
fall back to raster.
Task-number: QTBUG-64797
Change-Id: I91bba41b0efca85293a1a4af054842b9f309b126
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit 59343eef7dce58b1c167250b59b5f0a68428aa14)
-rw-r--r-- | examples/widgets/animation/sub-attaq/mainwindow.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/examples/widgets/animation/sub-attaq/mainwindow.cpp b/examples/widgets/animation/sub-attaq/mainwindow.cpp index 106404682d..b08a7d9f98 100644 --- a/examples/widgets/animation/sub-attaq/mainwindow.cpp +++ b/examples/widgets/animation/sub-attaq/mainwindow.cpp @@ -84,8 +84,13 @@ MainWindow::MainWindow() : QMainWindow(0) view->setAlignment(Qt::AlignLeft | Qt::AlignTop); scene->setupScene(newAction, quitAction); #ifndef QT_NO_OPENGL - view->setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers))); + QGLWidget *glWidget = new QGLWidget(QGLFormat(QGL::SampleBuffers)); + if (glWidget->context()->isValid()) { + view->setViewport(glWidget); + } else { + qWarning("Unable to create an Open GL context with sample buffers, not using Open GL."); + delete glWidget; + } #endif - setCentralWidget(view); } |