diff options
Diffstat (limited to 'src/testlib/qtestcase.cpp')
-rw-r--r-- | src/testlib/qtestcase.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index eeaa30e9a0..8f8bb83f11 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -901,6 +901,10 @@ void TestMethods::invokeTestOnData(int index) const if (m_cleanupMethod.isValid()) m_cleanupMethod.invoke(QTest::currentTestObject, Qt::DirectConnection); + // Process any deleteLater(), like event-loop based apps would do. Fixes memleak reports. + if (QCoreApplication::instance()) + QCoreApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete); + // If the test isn't a benchmark, finalize the result after cleanup() has finished. if (!isBenchmark) QTestResult::finishedCurrentTestDataCleanup(); |