From 2a4c0f5cb2a12e880b53de7f1135f31e7fdf4e76 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Sat, 7 Jun 2008 17:17:19 +0000 Subject: 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 --- rbutil/rbutilqt/httpget.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'rbutil/rbutilqt/httpget.cpp') 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()) -- cgit v1.2.3