From f7d7d7c81cf233a305ec1b1972bb459623a68e2b Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 17 Dec 2018 13:49:51 +0100 Subject: Minor optimization Avoid calling QThread::current() in many cases. Change-Id: Iac2e8ff1a72e3d39b6efa7e94239abbce29924ac Reviewed-by: Thiago Macieira Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/corelib/kernel/qmetaobject.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/corelib/kernel/qmetaobject.cpp') 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)", -- cgit v1.2.3