summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2019-08-23 12:07:33 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2019-08-25 23:14:32 +0200
commit787314c2309565a02c17ea45e0065b1fda2c579e (patch)
treeee76118f14f372c2d2280fb63c62f849989d9070 /src/widgets/kernel
parentdbab68a127189e479ff01a6450b4a45b872b7445 (diff)
widgets: Clarify top level flush region in QWidgetRepaintManager
Change-Id: I9a8d11569d33bf580bd50b710cf072952ea3626b Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'src/widgets/kernel')
-rw-r--r--src/widgets/kernel/qwidgetrepaintmanager.cpp16
-rw-r--r--src/widgets/kernel/qwidgetrepaintmanager_p.h2
2 files changed, 9 insertions, 9 deletions
diff --git a/src/widgets/kernel/qwidgetrepaintmanager.cpp b/src/widgets/kernel/qwidgetrepaintmanager.cpp
index 563e5932d3..e21e3af3e7 100644
--- a/src/widgets/kernel/qwidgetrepaintmanager.cpp
+++ b/src/widgets/kernel/qwidgetrepaintmanager.cpp
@@ -964,7 +964,7 @@ void QWidgetRepaintManager::paintAndFlush()
#endif
// Always flush repainted areas
- needsFlush += toClean;
+ topLevelNeedsFlush += toClean;
store->beginPaint(toClean);
@@ -1021,13 +1021,13 @@ void QWidgetRepaintManager::markNeedsFlush(QWidget *widget, const QRegion &regio
if (widget == tlw) {
// Top-level (native)
if (!widget->testAttribute(Qt::WA_WState_InPaintEvent))
- needsFlush += region;
+ topLevelNeedsFlush += region;
} else if (!hasPlatformWindow(widget) && !widget->isWindow()) {
QWidget *nativeParent = widget->nativeParentWidget();
if (nativeParent == tlw) {
// Alien widgets with the top-level as the native parent (common case)
if (!widget->testAttribute(Qt::WA_WState_InPaintEvent))
- needsFlush += region.translated(topLevelOffset);
+ topLevelNeedsFlush += region.translated(topLevelOffset);
} else {
// Alien widgets with native parent != tlw
const QPoint nativeParentOffset = widget->mapTo(nativeParent, QPoint());
@@ -1063,11 +1063,11 @@ void QWidgetRepaintManager::flush(QWidget *widget)
const bool hasDirtyOnScreenWidgets = !dirtyOnScreenWidgets.isEmpty();
bool flushed = false;
- // Flush the region in needsFlush
- if (!needsFlush.isEmpty()) {
+ // Flush the top level widget
+ if (!topLevelNeedsFlush.isEmpty()) {
QWidget *target = widget ? widget : tlw;
- flush(target, needsFlush, widgetTexturesFor(tlw, tlw));
- needsFlush = QRegion();
+ flush(target, topLevelNeedsFlush, widgetTexturesFor(tlw, tlw));
+ topLevelNeedsFlush = QRegion();
flushed = true;
}
@@ -1321,7 +1321,7 @@ QRegion QWidgetRepaintManager::dirtyRegion(QWidget *widget) const
}
// Append the region that needs flush.
- r += needsFlush;
+ r += topLevelNeedsFlush;
for (QWidget *w : dirtyOnScreenWidgets) {
if (widgetDirty && w != widget && !widget->isAncestorOf(w))
diff --git a/src/widgets/kernel/qwidgetrepaintmanager_p.h b/src/widgets/kernel/qwidgetrepaintmanager_p.h
index a0904bce66..524f1d5af8 100644
--- a/src/widgets/kernel/qwidgetrepaintmanager_p.h
+++ b/src/widgets/kernel/qwidgetrepaintmanager_p.h
@@ -133,7 +133,7 @@ private:
QVector<QWidget *> dirtyWidgets;
QVector<QWidget *> dirtyRenderToTextureWidgets;
- QRegion needsFlush;
+ QRegion topLevelNeedsFlush;
QVector<QWidget *> dirtyOnScreenWidgets;
QList<QWidget *> staticWidgets;