diff --git a/src/core/coreav.cpp b/src/core/coreav.cpp index 06341cad6..c1e095330 100644 --- a/src/core/coreav.cpp +++ b/src/core/coreav.cpp @@ -86,8 +86,7 @@ CoreAV::CoreAV(std::unique_ptr toxav) connect(iterateTimer, &QTimer::timeout, this, &CoreAV::process); connect(coreavThread.get(), &QThread::finished, iterateTimer, &QTimer::stop); - - coreavThread->start(); + connect(coreavThread.get(), &QThread::started, this, &CoreAV::process); } void CoreAV::connectCallbacks(ToxAV& toxav) @@ -164,10 +163,7 @@ CoreAV::~CoreAV() */ void CoreAV::start() { - // Timers can only be touched from their own thread - if (QThread::currentThread() != coreavThread.get()) - return (void)QMetaObject::invokeMethod(this, "start", Qt::BlockingQueuedConnection); - iterateTimer->start(); + coreavThread->start(); } void CoreAV::process()