summaryrefslogtreecommitdiffstats
path: root/src/libs/installer
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer')
-rw-r--r--src/libs/installer/metadatajob.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/libs/installer/metadatajob.cpp b/src/libs/installer/metadatajob.cpp
index a5be056a3..a15209a31 100644
--- a/src/libs/installer/metadatajob.cpp
+++ b/src/libs/installer/metadatajob.cpp
@@ -106,6 +106,12 @@ MetadataJob::~MetadataJob()
{
resetCompressedFetch();
reset();
+
+ if (!m_core)
+ return;
+
+ if (m_metaFromCache.isValid() && !m_core->settings().persistentLocalCache())
+ m_metaFromCache.clear();
}
/*
@@ -180,6 +186,10 @@ bool MetadataJob::resetCache(bool init)
"missing package manager core engine.";
return false;
}
+
+ if (m_metaFromCache.isValid() && !m_core->settings().persistentLocalCache())
+ m_metaFromCache.clear();
+
m_metaFromCache.setPath(m_core->settings().localCachePath());
m_metaFromCache.setType(QLatin1String("Metadata"));
m_metaFromCache.setVersion(QLatin1String(QUOTE(IFW_REPOSITORY_FORMAT_VERSION)));
@@ -344,9 +354,6 @@ bool MetadataJob::updateCache()
return false;
}
meta->setPersistentRepositoryPath(meta->repository().url());
- if (!m_core->settings().persistentLocalCache())
- m_tempDirDeleter.add(meta->path());
-
registeredKeys.append(m_fetchedMetadata.key(meta));
}
// Remove items whose ownership was transferred to cache