summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qwidgetrepaintmanager.cpp
diff options
context:
space:
mode:
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);