aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickwidgets
diff options
context:
space:
mode:
authorKirill Burtsev <kirill.burtsev@qt.io>2019-05-24 18:02:54 +0200
committerKirill Burtsev <kirill.burtsev@qt.io>2019-05-28 14:03:33 +0200
commit306843e180207665c88de22165cf96b3d5450f42 (patch)
treed7a5f32e94d505035ee53c16c8f5e7f5ea4d18ed /src/quickwidgets
parent3e716029ae61bf4c7bb33643ac331156e70e34f1 (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.cpp9
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>())