Modified MapFetcher::loadImageFromCache to check if tile was expired.
authorJussi Laitinen <jupe@l3l7588.ixonos.local>
Thu, 22 Apr 2010 08:32:10 +0000 (11:32 +0300)
committerJussi Laitinen <jupe@l3l7588.ixonos.local>
Thu, 22 Apr 2010 08:32:10 +0000 (11:32 +0300)
src/map/mapfetcher.cpp

index 7ee67eb..731a123 100644 (file)
@@ -69,8 +69,21 @@ bool MapFetcher::loadImageFromCache(const QUrl &url)
 
     bool imageFound = false;
 
-    if (m_manager->cache()) {
-        QIODevice *cacheImage = m_manager->cache()->data(url);
+    QAbstractNetworkCache *cache = m_manager->cache();
+
+    if (cache) {
+
+        QNetworkCacheMetaData metaData = cache->metaData(url);
+
+        if ((metaData.expirationDate().isValid()) && (url.isValid())) {
+
+            if (metaData.expirationDate() < QDateTime::currentDateTime()) {
+                cache->remove(url);
+                return false;
+            }
+        }
+
+        QIODevice *cacheImage = cache->data(url);
 
         if (cacheImage) {
             QImage image;