From c322351711d8c907184939032b226efc273988eb Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Wed, 10 Aug 2011 11:59:25 +0200 Subject: HTTP backend: invoke methods directly for synchronous requests when using synchronous requests, we need to invoke some methods directly, e.g. "metaDataChanged" would otherwise not be called when reading data from the cache. Patch-by: Siddharth Mathur Reviewed-by: Peter Hartmann Task-number: QTBUG-20796 --- src/network/access/qnetworkaccesshttpbackend.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/network/access/qnetworkaccesshttpbackend.cpp b/src/network/access/qnetworkaccesshttpbackend.cpp index 7d49648..8a247ce 100644 --- a/src/network/access/qnetworkaccesshttpbackend.cpp +++ b/src/network/access/qnetworkaccesshttpbackend.cpp @@ -961,9 +961,9 @@ bool QNetworkAccessHttpBackend::sendCacheContents(const QNetworkCacheMetaData &m // This needs to be emitted in the event loop because it can be reached at // the direct code path of qnam.get(...) before the user has a chance // to connect any signals. - QMetaObject::invokeMethod(this, "metaDataChanged", Qt::QueuedConnection); + QMetaObject::invokeMethod(this, "metaDataChanged", isSynchronous() ? Qt::DirectConnection : Qt::QueuedConnection); qRegisterMetaType("QIODevice*"); - QMetaObject::invokeMethod(this, "writeDownstreamData", Qt::QueuedConnection, Q_ARG(QIODevice*, contents)); + QMetaObject::invokeMethod(this, "writeDownstreamData", isSynchronous() ? Qt::DirectConnection : Qt::QueuedConnection, Q_ARG(QIODevice*, contents)); #if defined(QNETWORKACCESSHTTPBACKEND_DEBUG) -- cgit v0.12