diff options
Diffstat (limited to 'src/corelib/thread/qthread.cpp')
-rw-r--r-- | src/corelib/thread/qthread.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/corelib/thread/qthread.cpp b/src/corelib/thread/qthread.cpp index 326f4948aa..aaa1e6dc36 100644 --- a/src/corelib/thread/qthread.cpp +++ b/src/corelib/thread/qthread.cpp @@ -77,8 +77,8 @@ QT_BEGIN_NAMESPACE */ QThreadData::QThreadData(int initialRefCount) - : _ref(initialRefCount), thread(0), - quitNow(false), loopLevel(0), eventDispatcher(0), canWait(true) + : _ref(initialRefCount), thread(0), threadId(0), + quitNow(false), loopLevel(0), eventDispatcher(0), canWait(true), isAdopted(false) { // fprintf(stderr, "QThreadData %p created\n", this); } @@ -149,9 +149,6 @@ QAdoptedThread::QAdoptedThread(QThreadData *data) QAdoptedThread::~QAdoptedThread() { -#ifndef QT_NO_THREAD - QThreadPrivate::finish(this); -#endif // fprintf(stderr, "~QAdoptedThread = %p\n", this); } @@ -409,7 +406,7 @@ QThread::~QThread() wait(); locker.relock(); } - if (d->running && !d->finished) + if (d->running && !d->finished && !d->data->isAdopted) qWarning("QThread: Destroyed while thread is still running"); d->data->thread = 0; |