summaryrefslogtreecommitdiffstats
path: root/src/network/access/qnetworkreplyimpl.cpp
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@trolltech.com>2009-07-22 12:16:22 (GMT)
committerOlivier Goffart <ogoffart@trolltech.com>2009-07-22 12:16:22 (GMT)
commit5ef9227a5931e87cd18354967013056ef59405ca (patch)
treedea07caa94be3b92702951813d373120cee81071 /src/network/access/qnetworkreplyimpl.cpp
parente3994b506c21b9967248ea404cfdfef82060c13e (diff)
parent6c25a7cdea912f212ce00f43c7cfc862c1ecdd50 (diff)
downloadQt-5ef9227a5931e87cd18354967013056ef59405ca.zip
Qt-5ef9227a5931e87cd18354967013056ef59405ca.tar.gz
Qt-5ef9227a5931e87cd18354967013056ef59405ca.tar.bz2
Merge commit 'origin/4.5'
Conflicts: src/gui/graphicsview/qgraphicsscene.cpp src/gui/kernel/qt_cocoa_helpers_mac_p.h
Diffstat (limited to 'src/network/access/qnetworkreplyimpl.cpp')
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp
index 44ae328..1d4f70e 100644
--- a/src/network/access/qnetworkreplyimpl.cpp
+++ b/src/network/access/qnetworkreplyimpl.cpp
@@ -401,7 +401,17 @@ void QNetworkReplyImplPrivate::appendDownstreamData(QByteDataBuffer &data)
QNetworkCacheMetaData metaData;
metaData.setUrl(url);
metaData = backend->fetchCacheMetaData(metaData);
+
+ // save the redirect request also in the cache
+ QVariant redirectionTarget = q->attribute(QNetworkRequest::RedirectionTargetAttribute);
+ if (redirectionTarget.isValid()) {
+ QNetworkCacheMetaData::AttributesMap attributes = metaData.attributes();
+ attributes.insert(QNetworkRequest::RedirectionTargetAttribute, redirectionTarget);
+ metaData.setAttributes(attributes);
+ }
+
cacheSaveDevice = networkCache->prepare(metaData);
+
if (!cacheSaveDevice || (cacheSaveDevice && !cacheSaveDevice->isOpen())) {
if (cacheSaveDevice && !cacheSaveDevice->isOpen())
qCritical("QNetworkReplyImpl: network cache returned a device that is not open -- "