mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-20 20:40:29 +08:00
Ref T109, worker tweaks
* set name already in ctor * Q_ASSERT_X for start
This commit is contained in:
committed by
Mathew Sutcliffe
parent
551d9326fe
commit
e2853c3db2
@@ -119,7 +119,9 @@ namespace BlackMisc
|
|||||||
CContinuousWorker::CContinuousWorker(QObject *owner, const QString &name) :
|
CContinuousWorker::CContinuousWorker(QObject *owner, const QString &name) :
|
||||||
m_owner(owner), m_name(name)
|
m_owner(owner), m_name(name)
|
||||||
{
|
{
|
||||||
m_updateTimer.setObjectName(name + ":timer");
|
if (m_name.isEmpty()) { m_name = metaObject()->className(); }
|
||||||
|
setObjectName(m_name);
|
||||||
|
m_updateTimer.setObjectName(m_name + ":timer");
|
||||||
}
|
}
|
||||||
|
|
||||||
void CContinuousWorker::start(QThread::Priority priority)
|
void CContinuousWorker::start(QThread::Priority priority)
|
||||||
@@ -127,8 +129,8 @@ namespace BlackMisc
|
|||||||
BLACK_VERIFY_X(!hasStarted(), Q_FUNC_INFO, "Tried to start a worker that was already started");
|
BLACK_VERIFY_X(!hasStarted(), Q_FUNC_INFO, "Tried to start a worker that was already started");
|
||||||
if (hasStarted()) { return; }
|
if (hasStarted()) { return; }
|
||||||
|
|
||||||
if (m_name.isEmpty()) { m_name = metaObject()->className(); }
|
// avoid message "QObject: Cannot create children for a parent that is in a different thread"
|
||||||
|
Q_ASSERT_X(CThreadUtils::isCurrentThreadObjectThread(m_owner), Q_FUNC_INFO, "Needs to be started in owner thread");
|
||||||
emit aboutToStart();
|
emit aboutToStart();
|
||||||
setStarted();
|
setStarted();
|
||||||
auto *thread = new CRegularThread(m_owner);
|
auto *thread = new CRegularThread(m_owner);
|
||||||
@@ -136,10 +138,9 @@ namespace BlackMisc
|
|||||||
Q_ASSERT(m_owner); // must not be null, see (9) https://dev.vatsim-germany.org/issues/402
|
Q_ASSERT(m_owner); // must not be null, see (9) https://dev.vatsim-germany.org/issues/402
|
||||||
if (m_owner)
|
if (m_owner)
|
||||||
{
|
{
|
||||||
QString ownerName = m_owner->objectName().isEmpty() ? m_owner->metaObject()->className() : m_owner->objectName();
|
const QString ownerName = m_owner->objectName().isEmpty() ? m_owner->metaObject()->className() : m_owner->objectName();
|
||||||
thread->setObjectName(ownerName + ":" + m_name);
|
thread->setObjectName(ownerName + ":" + m_name);
|
||||||
}
|
}
|
||||||
setObjectName(m_name);
|
|
||||||
|
|
||||||
moveToThread(thread);
|
moveToThread(thread);
|
||||||
connect(thread, &QThread::started, this, &CContinuousWorker::initialize);
|
connect(thread, &QThread::started, this, &CContinuousWorker::initialize);
|
||||||
|
|||||||
Reference in New Issue
Block a user