Make QTest::qWait() handle DeferredDelete event

The QTest::qWait() function does not handle DeferredDelete, in this case
all deleteLater() calls before the qWait() won't be processed during the
wait. Add an explicit sendPostedEvents(0, QEvent::DeferredDelete) to fix
this problem.

Task-number:QTBUG-22633
Change-Id: I2c5574b4e7d3c070fad6382dc36ddfd1dfac50d6
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
This commit is contained in:
Charles Yin 2011-11-11 11:33:41 +10:00 committed by Qt by Nokia
parent c1c51dd4f7
commit b4d23e61ed

View File

@ -68,6 +68,7 @@ namespace QTest
timer.start();
do {
QCoreApplication::processEvents(QEventLoop::AllEvents, ms);
QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete);
QTest::qSleep(10);
} while (timer.elapsed() < ms);
}
@ -97,3 +98,4 @@ QT_END_NAMESPACE
QT_END_HEADER
#endif