diff options
author | Markku Luukkainen <markku.luukkainen@digia.com> | 2009-06-10 11:58:49 (GMT) |
---|---|---|
committer | Markku Luukkainen <markku.luukkainen@digia.com> | 2009-06-10 11:58:49 (GMT) |
commit | 1be834f942b9658733d0f69a8d10a35d3c4988cb (patch) | |
tree | 7873983d75ffc181afb192b3a0f77f921069b6ff /src/corelib/thread/qthread_unix.cpp | |
parent | c7ddb3e5801118fb23a42272c16c660ba3bdb570 (diff) | |
parent | 7604f8087f88171ef933d8ae08f501467e647338 (diff) | |
download | Qt-1be834f942b9658733d0f69a8d10a35d3c4988cb.zip Qt-1be834f942b9658733d0f69a8d10a35d3c4988cb.tar.gz Qt-1be834f942b9658733d0f69a8d10a35d3c4988cb.tar.bz2 |
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt-s60-public
Diffstat (limited to 'src/corelib/thread/qthread_unix.cpp')
-rw-r--r-- | src/corelib/thread/qthread_unix.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index 567c936..d2a824a 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -124,7 +124,14 @@ QThreadData *QThreadData::current() } else { data = new QThreadData; pthread_setspecific(current_thread_data_key, data); - data->thread = new QAdoptedThread(data); + QT_TRY { + data->thread = new QAdoptedThread(data); + } QT_CATCH(...) { + pthread_setspecific(current_thread_data_key, 0); + data->deref(); + data = 0; + QT_RETHROW; + } data->deref(); } if (!QCoreApplicationPrivate::theMainThread) |