From 6dd5cb40ef0e12da4bcdbebb41fb1ea555d4fa0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Fri, 23 Aug 2019 14:55:07 +0200 Subject: widgets: Handle all flush tracking via markNeedsFlush Change-Id: I3652c09012e36468ef90870637988b3fe8c5e735 Reviewed-by: Paul Olav Tvete --- src/widgets/kernel/qwidgetrepaintmanager.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/widgets/kernel/qwidgetrepaintmanager.cpp') 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); -- cgit v1.2.3