diff options
author | Morten Johan Sorvig <morten.sorvig@nokia.com> | 2012-05-04 12:28:26 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-05-04 12:48:04 +0200 |
commit | 276776f50369580f33ec01b22aa928e48358a0f7 (patch) | |
tree | 07ffe0cc07fecb3d157c621a4d4c6b4183f5a55b | |
parent | 8c3a6570afed69a7296573ae7de3fda1acfba7bc (diff) |
Don't flush WA_DontShowOnScreen widgets.
QBackingStore::flush expects that windows have gotten expose
events before flush is called. Not on screen -> no expose events ->
don't call flush.
Change-Id: Id868888566fe672939f3c5775f9f371fb3240ee8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
-rw-r--r-- | src/widgets/kernel/qwidgetbackingstore.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/widgets/kernel/qwidgetbackingstore.cpp b/src/widgets/kernel/qwidgetbackingstore.cpp index 2c9ad14bcf..a697578bc7 100644 --- a/src/widgets/kernel/qwidgetbackingstore.cpp +++ b/src/widgets/kernel/qwidgetbackingstore.cpp @@ -104,6 +104,10 @@ static inline void qt_flush(QWidget *widget, const QRegion ®ion, QBackingStor frames = 0; } } + + if (tlw->testAttribute(Qt::WA_DontShowOnScreen) || widget->testAttribute(Qt::WA_DontShowOnScreen)) + return; + if (widget != tlw) backingStore->flush(region, widget->windowHandle(), tlwOffset + widget->mapTo(tlw, QPoint())); else |