summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorten Johan Sorvig <morten.sorvig@nokia.com>2012-05-04 12:28:26 +0200
committerQt by Nokia <qt-info@nokia.com>2012-05-04 12:48:04 +0200
commit276776f50369580f33ec01b22aa928e48358a0f7 (patch)
tree07ffe0cc07fecb3d157c621a4d4c6b4183f5a55b
parent8c3a6570afed69a7296573ae7de3fda1acfba7bc (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.cpp4
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 &region, 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