diff --git a/src/corelib/thread/qthread.cpp b/src/corelib/thread/qthread.cpp index 543c491201..3453fd0fc1 100644 --- a/src/corelib/thread/qthread.cpp +++ b/src/corelib/thread/qthread.cpp @@ -125,7 +125,6 @@ QAbstractEventDispatcher *QThreadData::createEventDispatcher() { QAbstractEventDispatcher *ed = QThreadPrivate::createEventDispatcher(this); eventDispatcher.storeRelease(ed); - ed->startingUp(); return ed; } diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index f4d4914efc..8d2c83d519 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -308,6 +308,7 @@ void *QThreadPrivate::start(void *arg) } data->ensureEventDispatcher(); + data->eventDispatcher.loadRelaxed()->startingUp(); #if (defined(Q_OS_LINUX) || defined(Q_OS_MAC) || defined(Q_OS_QNX)) { diff --git a/src/corelib/thread/qthread_win.cpp b/src/corelib/thread/qthread_win.cpp index b59a9d1bb4..820ffa1149 100644 --- a/src/corelib/thread/qthread_win.cpp +++ b/src/corelib/thread/qthread_win.cpp @@ -312,6 +312,7 @@ unsigned int __stdcall QT_ENSURE_STACK_ALIGNED_FOR_SSE QThreadPrivate::start(voi } data->ensureEventDispatcher(); + data->eventDispatcher.loadRelaxed()->startingUp(); #if !defined(QT_NO_DEBUG) && defined(Q_CC_MSVC) // sets the name of the current thread.