summaryrefslogtreecommitdiffstats
path: root/src/corelib/thread
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@nokia.com>2011-06-24 11:52:41 +0200
committerLiang Qi <liang.qi@nokia.com>2011-06-24 11:52:41 +0200
commitcf2f72f4f61f3a9e0e7573379c33bb341eeba7be (patch)
tree06fbd459f62f87344e7db973a0a9f3050cece825 /src/corelib/thread
parent164728f711136356a6c3482f762321b01c9d82dd (diff)
parent705b0f958a6071341b10cbd51917e1378356491b (diff)
Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7
Conflicts: src/gui/image/qpixmap_raster_symbian.cpp src/gui/image/qpixmapdatafactory.cpp src/gui/painting/qgraphicssystem.cpp src/gui/styles/qs60style.cpp src/network/bearer/qnetworkconfigmanager_p.h src/s60installs/bwins/QtGuiu.def src/s60installs/bwins/QtOpenGLu.def src/s60installs/bwins/QtOpenVGu.def src/s60installs/eabi/QtGuiu.def src/s60installs/eabi/QtOpenVGu.def tests/auto/qnetworkproxyfactory/tst_qnetworkproxyfactory.cpp
Diffstat (limited to 'src/corelib/thread')
-rw-r--r--src/corelib/thread/qthread.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/corelib/thread/qthread.cpp b/src/corelib/thread/qthread.cpp
index 02a63bb92d..5dfc946b5b 100644
--- a/src/corelib/thread/qthread.cpp
+++ b/src/corelib/thread/qthread.cpp
@@ -434,6 +434,12 @@ bool QThread::isRunning() const
{
Q_D(const QThread);
QMutexLocker locker(&d->mutex);
+#ifdef Q_OS_SYMBIAN
+ // app shutdown on Symbian can terminate threads and invalidate their stacks without notification,
+ // check the thread is still alive.
+ if (d->data->symbian_thread_handle.Handle() && d->data->symbian_thread_handle.ExitType() != EExitPending)
+ return false;
+#endif
return d->running;
}