aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickwidgets/qquickwidget.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-10-23 12:09:30 +0200
committerLiang Qi <liang.qi@qt.io>2017-10-24 11:13:09 +0200
commit15dd1b7883f5dbe66266aeb588381f85f3532ab9 (patch)
tree1fa8caa8ec0f38aef39bcf920e3d5c7efeae5cb9 /src/quickwidgets/qquickwidget.cpp
parentf82c4de515223574bcc510de0d993426b22bccbe (diff)
parentebceda0cad6d86f6d6fe5efbf85a3b06fb4222b0 (diff)
Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts: src/qml/qml/qqmlimport.cpp src/qml/qml/qqmlimport_p.h src/qml/qml/qqmltypenamecache.cpp Done-with: Ulf Hermann<ulf.hermann@qt.io> Change-Id: I41ba7a592b2659ddf53da6952ea3b456a7bba319
Diffstat (limited to 'src/quickwidgets/qquickwidget.cpp')
-rw-r--r--src/quickwidgets/qquickwidget.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp
index 326f0f7dd4..bbe0192eac 100644
--- a/src/quickwidgets/qquickwidget.cpp
+++ b/src/quickwidgets/qquickwidget.cpp
@@ -201,6 +201,7 @@ QQuickWidgetPrivate::QQuickWidgetPrivate()
, fakeHidden(false)
, requestedSamples(0)
, useSoftwareRenderer(false)
+ , forceFullUpdate(false)
{
}
@@ -306,6 +307,10 @@ void QQuickWidgetPrivate::render(bool needsSync)
auto softwareRenderer = static_cast<QSGSoftwareRenderer*>(cd->renderer);
if (softwareRenderer && !softwareImage.isNull()) {
softwareRenderer->setCurrentPaintDevice(&softwareImage);
+ if (forceFullUpdate) {
+ softwareRenderer->markDirty();
+ forceFullUpdate = false;
+ }
renderControl->render();
updateRegion += softwareRenderer->flushRegion();
@@ -917,6 +922,7 @@ void QQuickWidget::createFramebufferObject()
const QSize imageSize = size() * devicePixelRatioF();
d->softwareImage = QImage(imageSize, QImage::Format_ARGB32_Premultiplied);
d->softwareImage.setDevicePixelRatio(devicePixelRatioF());
+ d->forceFullUpdate = true;
return;
}