diff options
author | Kirill Burtsev <kirill.burtsev@qt.io> | 2019-05-24 18:02:54 +0200 |
---|---|---|
committer | Kirill Burtsev <kirill.burtsev@qt.io> | 2019-05-28 14:03:33 +0200 |
commit | 306843e180207665c88de22165cf96b3d5450f42 (patch) | |
tree | d7a5f32e94d505035ee53c16c8f5e7f5ea4d18ed /src/quickwidgets | |
parent | 3e716029ae61bf4c7bb33643ac331156e70e34f1 (diff) |
QQuickWidget: fix missing update on show event for software renderer
The triggerUpdate call was incorrectly removed by merge 42f485231c
Fixes: QTBUG-68566
Change-Id: Ibf37d88315d3ef9879e6cb9728a1c4ef4655c72b
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'src/quickwidgets')
-rw-r--r-- | src/quickwidgets/qquickwidget.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp index f1a0f0c863..b63f7de9f1 100644 --- a/src/quickwidgets/qquickwidget.cpp +++ b/src/quickwidgets/qquickwidget.cpp @@ -1314,9 +1314,13 @@ void QQuickWidget::mouseDoubleClickEvent(QMouseEvent *e) void QQuickWidget::showEvent(QShowEvent *) { Q_D(QQuickWidget); + bool shouldTriggerUpdate = true; + if (!d->useSoftwareRenderer) { d->createContext(); + if (d->offscreenWindow->openglContext()) { + shouldTriggerUpdate = false; d->render(true); // render() may have led to a QQuickWindow::update() call (for // example, having a scene with a QQuickFramebufferObject::Renderer @@ -1329,11 +1333,12 @@ void QQuickWidget::showEvent(QShowEvent *) d->updatePending = false; update(); } - } else { - triggerUpdate(); } } + if (shouldTriggerUpdate) + triggerUpdate(); + // note offscreenWindow is "QQuickOffScreenWindow" instance d->offscreenWindow->setVisible(true); if (QQmlInspectorService *service = QQmlDebugConnector::service<QQmlInspectorService>()) |