From 969c0771821e54b309b02fc97ab886ae9b47cb0b Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Sun, 6 Nov 2016 02:15:12 +0000 Subject: [PATCH] Fixed possible memory leak in BlackMisc::singleShot. --- src/blackmisc/worker.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/blackmisc/worker.h b/src/blackmisc/worker.h index 84057843f..8886a785d 100644 --- a/src/blackmisc/worker.h +++ b/src/blackmisc/worker.h @@ -49,10 +49,10 @@ namespace BlackMisc QSharedPointer 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(task), timer] + QObject::connect(timer.data(), &QTimer::timeout, target, [trace = getStackTrace(), task = std::forward(task), timer]() mutable { static_cast(trace); - static_cast(timer); + timer.clear(); task(); }); QMetaObject::invokeMethod(timer.data(), "start", Q_ARG(int, msec));