diff options
author | Lars Knoll <lars.knoll@qt.io> | 2018-12-17 13:49:51 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2019-01-07 08:15:06 +0000 |
commit | f7d7d7c81cf233a305ec1b1972bb459623a68e2b (patch) | |
tree | a5e65e26ee1ffcc5c32104a7435d401be101a968 /src/corelib/kernel | |
parent | c497f79ad460afeb76eb1ade0de86d46bbb11a91 (diff) |
Minor optimization
Avoid calling QThread::current() in many cases.
Change-Id: Iac2e8ff1a72e3d39b6efa7e94239abbce29924ac
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r-- | src/corelib/kernel/qmetaobject.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 5de2717078..27153e0c4d 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -2257,9 +2257,9 @@ bool QMetaMethod::invoke(QObject *object, return false; // check connection type - QThread *currentThread = QThread::currentThread(); - QThread *objectThread = object->thread(); if (connectionType == Qt::AutoConnection) { + QThread *currentThread = QThread::currentThread(); + QThread *objectThread = object->thread(); connectionType = currentThread == objectThread ? Qt::DirectConnection : Qt::QueuedConnection; @@ -2342,6 +2342,8 @@ bool QMetaMethod::invoke(QObject *object, 0, -1, nargs, types, args)); } else { // blocking queued connection #if QT_CONFIG(thread) + QThread *currentThread = QThread::currentThread(); + QThread *objectThread = object->thread(); if (currentThread == objectThread) { qWarning("QMetaMethod::invoke: Dead lock detected in " "BlockingQueuedConnection: Receiver is %s(%p)", |