aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickwidgets
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-12-07 13:20:36 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2015-12-07 13:20:36 +0100
commit4ab7deb923237b0186a211b0326217c480e33848 (patch)
treee277fb616e58e02bb49e0dc62d1ff9a039e8bcdb /src/quickwidgets
parentc3f03bbff1db14dc5b5436d8aef834512207d498 (diff)
parentbb921064b966efdaabc2245cad21c3d852848a22 (diff)
Merge remote-tracking branch 'origin/5.6' into dev
Diffstat (limited to 'src/quickwidgets')
-rw-r--r--src/quickwidgets/qquickwidget.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp
index 875b68b3ac..063386ed8e 100644
--- a/src/quickwidgets/qquickwidget.cpp
+++ b/src/quickwidgets/qquickwidget.cpp
@@ -705,6 +705,7 @@ void QQuickWidgetPrivate::handleContextCreationFailure(const QSurfaceFormat &for
void QQuickWidgetPrivate::createContext()
{
+ Q_Q(QQuickWidget);
// On hide-show we invalidate() but our context is kept.
// We nonetheless need to initialize() again.
const bool reinit = context && !offscreenWindow->openglContext();
@@ -716,10 +717,11 @@ void QQuickWidgetPrivate::createContext()
context = new QOpenGLContext;
context->setFormat(offscreenWindow->requestedFormat());
- if (qt_gl_global_share_context()) {
+ if (qt_gl_global_share_context())
context->setShareContext(qt_gl_global_share_context());
- context->setScreen(context->shareContext()->screen());
- }
+ else
+ context->setShareContext(QWidgetPrivate::get(q->window())->shareContext());
+ context->setScreen(context->shareContext()->screen());
if (!context->create()) {
const bool isEs = context->isOpenGLES();