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:
parent
c1c51dd4f7
commit
b4d23e61ed
@ -68,6 +68,7 @@ namespace QTest
|
|||||||
timer.start();
|
timer.start();
|
||||||
do {
|
do {
|
||||||
QCoreApplication::processEvents(QEventLoop::AllEvents, ms);
|
QCoreApplication::processEvents(QEventLoop::AllEvents, ms);
|
||||||
|
QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete);
|
||||||
QTest::qSleep(10);
|
QTest::qSleep(10);
|
||||||
} while (timer.elapsed() < ms);
|
} while (timer.elapsed() < ms);
|
||||||
}
|
}
|
||||||
@ -97,3 +98,4 @@ QT_END_NAMESPACE
|
|||||||
QT_END_HEADER
|
QT_END_HEADER
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user