diff options
Diffstat (limited to 'src/widgets/kernel/qwidgetrepaintmanager.cpp')
-rw-r--r-- | src/widgets/kernel/qwidgetrepaintmanager.cpp | 7 |
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); |