From b042fa068bd60063a0c7ca47b2520ad42b406627 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Garapich?= Date: Thu, 16 Apr 2015 03:02:51 +0200 Subject: [PATCH] refs #388 Use slots to start & stop QTimers from another thread --- src/blackmisc/threadedreader.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/blackmisc/threadedreader.cpp b/src/blackmisc/threadedreader.cpp index d4a3a1054..5e19c95e5 100644 --- a/src/blackmisc/threadedreader.cpp +++ b/src/blackmisc/threadedreader.cpp @@ -33,8 +33,7 @@ namespace BlackMisc void CThreadedReader::requestStop() { setFinished(); - QWriteLocker(&this->m_lock); - this->m_updateTimer->stop(); + QMetaObject::invokeMethod(m_updateTimer, "stop"); } CThreadedReader::~CThreadedReader() @@ -50,14 +49,13 @@ namespace BlackMisc void CThreadedReader::setInterval(int updatePeriodMs) { Q_ASSERT(this->m_updateTimer); - QWriteLocker(&this->m_lock); if (updatePeriodMs < 1) { - this->m_updateTimer->stop(); + QMetaObject::invokeMethod(m_updateTimer, "stop"); } else { - this->m_updateTimer->start(updatePeriodMs); + QMetaObject::invokeMethod(m_updateTimer, "start", Q_ARG(int, updatePeriodMs)); } }