From 4b4cf31c7a4bcb89cabca09102c4e0a22ab0c6b1 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Fri, 13 May 2016 12:47:08 +0200 Subject: QQuickWidget: update() when resetting updatePending in showEvent() If updatePending is set, that means we want to call update() eventually. If we just reset updatePending without calling update(), we produce UI glitches. Change-Id: Ie7353b2f5da567e196dbee8c113920e0e4702304 Task-number: QTCREATORBUG-16022 Reviewed-by: Robert Loehning Reviewed-by: Laszlo Agocs --- src/quickwidgets/qquickwidget.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp index 2120be768c..1a840b44bd 100644 --- a/src/quickwidgets/qquickwidget.cpp +++ b/src/quickwidgets/qquickwidget.cpp @@ -1099,12 +1099,16 @@ void QQuickWidget::mouseDoubleClickEvent(QMouseEvent *e) void QQuickWidget::showEvent(QShowEvent *) { Q_D(QQuickWidget); - d->updatePending = false; d->createContext(); - if (d->offscreenWindow->openglContext()) + if (d->offscreenWindow->openglContext()) { d->render(true); - else + if (d->updatePending) { + d->updatePending = false; + update(); + } + } else { triggerUpdate(); + } QWindowPrivate *offscreenPrivate = QWindowPrivate::get(d->offscreenWindow); if (!offscreenPrivate->visible) { offscreenPrivate->visible = true; -- cgit v1.2.3