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));