diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/quickwidgets/qquickwidget.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp index 748b450643..2120be768c 100644 --- a/src/quickwidgets/qquickwidget.cpp +++ b/src/quickwidgets/qquickwidget.cpp @@ -724,12 +724,13 @@ void QQuickWidgetPrivate::createContext() context = new QOpenGLContext; context->setFormat(offscreenWindow->requestedFormat()); - if (qt_gl_global_share_context()) - context->setShareContext(qt_gl_global_share_context()); - else - context->setShareContext(QWidgetPrivate::get(q->window())->shareContext()); - context->setScreen(context->shareContext()->screen()); - + QOpenGLContext *shareContext = qt_gl_global_share_context(); + if (!shareContext) + shareContext = QWidgetPrivate::get(q->window())->shareContext(); + if (shareContext) { + context->setShareContext(shareContext); + context->setScreen(shareContext->screen()); + } if (!context->create()) { const bool isEs = context->isOpenGLES(); delete context; |