diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-10-11 01:00:32 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-10-11 01:00:32 +0200 |
commit | 5bb77e39c7448a9dd5255fb18e9df07348d0ea95 (patch) | |
tree | 5a6d87c63d481b60c24c5a66fe7bc2174cb43a05 /src/quickwidgets | |
parent | 7b2e90258c2e4719d41c5306c3d55a604ef1520b (diff) | |
parent | bdc12f241118304a644f433bc3b75085c27a261d (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: Ib623d34a523b3f2956561f583e19c92f34ab21b4
Diffstat (limited to 'src/quickwidgets')
-rw-r--r-- | src/quickwidgets/qquickwidget.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp index f9fbfeb8dc..4d2914ff6c 100644 --- a/src/quickwidgets/qquickwidget.cpp +++ b/src/quickwidgets/qquickwidget.cpp @@ -283,7 +283,16 @@ void QQuickWidgetPrivate::render(bool needsSync) Q_ASSERT(context); - if (!context->makeCurrent(offscreenSurface)) { + bool current = context->makeCurrent(offscreenSurface); + + if (!current && !context->isValid()) { + renderControl->invalidate(); + current = context->create() && context->makeCurrent(offscreenSurface); + if (current) + renderControl->initialize(context); + } + + if (!current) { qWarning("QQuickWidget: Cannot render due to failing makeCurrent()"); return; } |