summaryrefslogtreecommitdiffstats
path: root/src/kernel
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-06-10 13:20:17 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-06-10 13:20:17 -0500
commitf2102e1f829d216591a5f49819847c05383305ae (patch)
tree70f9fcdaafc62956e31c6ed585fbf4827f285436 /src/kernel
parent8ff73908ee9670f5ce72613b65bf1b21b9544b96 (diff)
downloadqt3-f2102e1f829d216591a5f49819847c05383305ae.tar.gz
qt3-f2102e1f829d216591a5f49819847c05383305ae.zip
Fix incorrect thread termination handling when thread count is greater than two
This resolves Bug 1521 Make double free or delete of QString objects more obvious
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/qapplication.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/kernel/qapplication.cpp b/src/kernel/qapplication.cpp
index e556e37..959f850 100644
--- a/src/kernel/qapplication.cpp
+++ b/src/kernel/qapplication.cpp
@@ -3732,7 +3732,7 @@ void QApplication::removePostedEvent( QEvent * event )
void qThreadTerminationHandlerRecursive( QObject* object, QThread* originThread, QThread* destinationThread ) {
#ifdef QT_THREAD_SUPPORT
QThread* objectThread = object->contextThreadObject();
- if (objectThread && (objectThread != destinationThread)) {
+ if (objectThread && (objectThread == originThread)) {
QThread::CleanupType cleanupType = objectThread->cleanupType();
if (cleanupType == QThread::CleanupMergeObjects) {
object->moveToThread(destinationThread);