diff options
| -rw-r--r-- | src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp | 5 | ||||
| -rw-r--r-- | src/quickwidgets/qquickwidget.cpp | 6 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp index cecc6c21ca..11d3153678 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderablenode.cpp @@ -232,8 +232,9 @@ void QSGSoftwareRenderableNode::update() m_boundingRectMin = QRect(); m_boundingRectMax = QRect(); } else { - m_boundingRectMin = m_boundingRectMin.intersected(m_clipRegion.rects().constFirst()); - m_boundingRectMax = m_boundingRectMax.intersected(m_clipRegion.rects().constFirst()); + const auto rects = m_clipRegion.begin(); + m_boundingRectMin = m_boundingRectMin.intersected(rects[0]); + m_boundingRectMax = m_boundingRectMax.intersected(rects[0]); } } diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp index 7c221850ab..f9c9e44fb0 100644 --- a/src/quickwidgets/qquickwidget.cpp +++ b/src/quickwidgets/qquickwidget.cpp @@ -1619,12 +1619,12 @@ void QQuickWidget::paintEvent(QPaintEvent *event) QTransform transform; transform.scale(devicePixelRatioF(), devicePixelRatioF()); //Paint only the updated areas - const auto rects = d->updateRegion.rects(); - for (auto targetRect : rects) { + QRegion targetRegion; + d->updateRegion.swap(targetRegion); + for (auto targetRect : targetRegion) { auto sourceRect = transform.mapRect(QRectF(targetRect)); painter.drawImage(targetRect, d->softwareImage, sourceRect); } - d->updateRegion = QRegion(); } } } |
