Fixed possible memory leak in BlackMisc::singleShot.

This commit is contained in:
Mathew Sutcliffe
2016-11-06 02:15:12 +00:00
committed by Klaus Basan
parent 6f5193a74f
commit 969c077182

View File

@@ -49,10 +49,10 @@ namespace BlackMisc
QSharedPointer<QTimer> timer(new QTimer, [](QObject *o) { QMetaObject::invokeMethod(o, "deleteLater"); });
timer->setSingleShot(true);
timer->moveToThread(target->thread());
QObject::connect(timer.data(), &QTimer::timeout, target, [trace = getStackTrace(), task = std::forward<F>(task), timer]
QObject::connect(timer.data(), &QTimer::timeout, target, [trace = getStackTrace(), task = std::forward<F>(task), timer]() mutable
{
static_cast<void>(trace);
static_cast<void>(timer);
timer.clear();
task();
});
QMetaObject::invokeMethod(timer.data(), "start", Q_ARG(int, msec));