diff --git a/src/corelib/thread/qthread.cpp b/src/corelib/thread/qthread.cpp index 5e37739a1eb..7de449c16cc 100644 --- a/src/corelib/thread/qthread.cpp +++ b/src/corelib/thread/qthread.cpp @@ -94,22 +94,6 @@ QThreadData::~QThreadData() // fprintf(stderr, "QThreadData %p destroyed\n", this); } -void QThreadData::ref() -{ -#if QT_CONFIG(thread) - (void) _ref.ref(); - Q_ASSERT(_ref.loadRelaxed() != 0); -#endif -} - -void QThreadData::deref() -{ -#if QT_CONFIG(thread) - if (!_ref.deref()) - delete this; -#endif -} - QAbstractEventDispatcher *QThreadData::createEventDispatcher() { QAbstractEventDispatcher *ed = QThreadPrivate::createEventDispatcher(this); diff --git a/src/corelib/thread/qthread_p.h b/src/corelib/thread/qthread_p.h index afb10fbf9ac..abd789eab6d 100644 --- a/src/corelib/thread/qthread_p.h +++ b/src/corelib/thread/qthread_p.h @@ -296,9 +296,21 @@ public: static QThreadData *get2(QThread *thread) { Q_ASSERT_X(thread != nullptr, "QThread", "internal error"); return thread->d_func()->data; } - - void ref(); - void deref(); +#if QT_CONFIG(thread) + void ref() + { + (void) _ref.ref(); + Q_ASSERT(_ref.loadRelaxed() != 0); + } + void deref() + { + if (!_ref.deref()) + delete this; + } +#else + void ref() {} + void deref() {} +#endif inline bool hasEventDispatcher() const { return eventDispatcher.loadRelaxed() != nullptr; } QAbstractEventDispatcher *createEventDispatcher();