diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-10-30 19:55:01 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-10-30 19:55:01 (GMT) |
commit | 248130e6f159cf9b00cd8d4587a2f9e961eaf577 (patch) | |
tree | a18b1f9cb98bfa634adc92f799baea0818603251 /src/corelib | |
parent | c80df14aa4e7e31f4b9d19c23ed9e7793486d70e (diff) | |
parent | 856711caba2736ca9330f086635b418322462c3a (diff) | |
download | Qt-248130e6f159cf9b00cd8d4587a2f9e961eaf577.zip Qt-248130e6f159cf9b00cd8d4587a2f9e961eaf577.tar.gz Qt-248130e6f159cf9b00cd8d4587a2f9e961eaf577.tar.bz2 |
Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
Add autotest for QScriptExtensionPlugin
Improve QtScript test coverage
Don't crash when null-pointer is passed to qScriptValueFromValue()
Simplify object lifetime management when moving objects to a QThread
samegame: white space
Move list of trusted benchmarks out of QA dungeon and into Qt
Don't put Objective-C sources in SOURCES
mkspecs: Emit warning when including g++.conf directly
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/kernel/qobject.cpp | 4 | ||||
-rw-r--r-- | src/corelib/thread/qthread_unix.cpp | 1 | ||||
-rw-r--r-- | src/corelib/thread/qthread_win.cpp | 1 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 573bb50..7fe9c52 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -3508,9 +3508,7 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign // determine if this connection should be sent immediately or // put into the event queue - if ((c->connectionType == Qt::AutoConnection - && (!receiverInSameThread - || receiver->d_func()->threadData != sender->d_func()->threadData)) + if ((c->connectionType == Qt::AutoConnection && !receiverInSameThread) || (c->connectionType == Qt::QueuedConnection)) { queued_activate(sender, signal_absolute_index, c, argv ? argv : empty_argv); continue; diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index daf1a93..f508c0a 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -345,6 +345,7 @@ void QThreadPrivate::finish(void *arg) emit thr->terminated(); d->terminated = false; emit thr->finished(); + QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete); if (d->data->eventDispatcher) { d->data->eventDispatcher->closingDown(); diff --git a/src/corelib/thread/qthread_win.cpp b/src/corelib/thread/qthread_win.cpp index f0cbe8d..4a967ed 100644 --- a/src/corelib/thread/qthread_win.cpp +++ b/src/corelib/thread/qthread_win.cpp @@ -332,6 +332,7 @@ void QThreadPrivate::finish(void *arg, bool lockAnyway) emit thr->terminated(); d->terminated = false; emit thr->finished(); + QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete); if (d->data->eventDispatcher) { d->data->eventDispatcher->closingDown(); |