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>
This commit is contained in:
Morten Johan Sorvig 2012-05-04 12:28:26 +02:00 committed by Qt by Nokia
parent 8c3a6570af
commit 276776f503

View File

@ -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