summaryrefslogtreecommitdiffstats
path: root/rbutil
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2008-06-07 17:17:19 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2008-06-07 17:17:19 +0000
commit2a4c0f5cb2a12e880b53de7f1135f31e7fdf4e76 (patch)
tree93c2ff01ff82ca996a10aecaed6cd847e8952eeb /rbutil
parent61f5dd623d3034c8004f8b0850f2b2458cc0a2d1 (diff)
downloadrockbox-2a4c0f5cb2a12e880b53de7f1135f31e7fdf4e76.tar.gz
rockbox-2a4c0f5cb2a12e880b53de7f1135f31e7fdf4e76.zip
Only create cache file when no error occured. Ignore server errors when using download cache to make offline mode work again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17702 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil')
-rw-r--r--rbutil/rbutilqt/httpget.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/rbutil/rbutilqt/httpget.cpp b/rbutil/rbutilqt/httpget.cpp
index 9c102f8c2c..f4e2e04685 100644
--- a/rbutil/rbutilqt/httpget.cpp
+++ b/rbutil/rbutilqt/httpget.cpp
@@ -291,7 +291,7 @@ void HttpGet::httpDone(bool error)
if(!outputToBuffer)
outputFile->close();
- if(m_usecache && !m_cached) {
+ if(m_usecache && !m_cached && !error) {
qDebug() << "[HTTP] creating cache file" << m_cachefile;
QFile c(m_cachefile);
c.open(QIODevice::ReadWrite);
@@ -305,6 +305,10 @@ void HttpGet::httpDone(bool error)
c.close();
}
+ // if cached file found and cache enabled ignore http errors
+ if(m_usecache && m_cached && !http.hasPendingRequests()) {
+ error = false;
+ }
// take care of concurring requests. If there is still one running,
// don't emit done(). That request will call this slot again.
if(http.currentId() == 0 && !http.hasPendingRequests())