summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qwidgetrepaintmanager.cpp
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2019-08-23 14:55:07 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2019-08-25 23:14:48 +0200
commit6dd5cb40ef0e12da4bcdbebb41fb1ea555d4fa0a (patch)
treeabef80e9bb08d8d6b26a381f2ece062dd61ced4c /src/widgets/kernel/qwidgetrepaintmanager.cpp
parent10e8faa72c2a58306f596ec4ee7d56fb7ce28bb8 (diff)
widgets: Handle all flush tracking via markNeedsFlush
Change-Id: I3652c09012e36468ef90870637988b3fe8c5e735 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'src/widgets/kernel/qwidgetrepaintmanager.cpp')
-rw-r--r--src/widgets/kernel/qwidgetrepaintmanager.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/widgets/kernel/qwidgetrepaintmanager.cpp b/src/widgets/kernel/qwidgetrepaintmanager.cpp
index da1754004d..334b618afb 100644
--- a/src/widgets/kernel/qwidgetrepaintmanager.cpp
+++ b/src/widgets/kernel/qwidgetrepaintmanager.cpp
@@ -964,8 +964,11 @@ void QWidgetRepaintManager::paintAndFlush()
}
#endif
- // Always flush repainted areas
- topLevelNeedsFlush += toClean;
+ // Always flush repainted areas. FIXME: We should mark individual widgets,
+ // not the top level widget unconditionally, as this results in always
+ // flushing the top level widget, even if the painted region is entirely
+ // within a native child.
+ markNeedsFlush(tlw, toClean, QPoint());
store->beginPaint(toClean);