diff --git a/src/core/cache.h b/src/core/cache.h --- a/src/core/cache.h +++ b/src/core/cache.h @@ -76,7 +76,7 @@ QString m_kns2ComponentName; QSet cache; - QHash requestCache; + QHash> requestCache; }; } diff --git a/src/core/cache.cpp b/src/core/cache.cpp --- a/src/core/cache.cpp +++ b/src/core/cache.cpp @@ -246,13 +246,13 @@ void Cache::insertRequest(const KNSCore::Provider::SearchRequest &request, const KNSCore::EntryInternal::List &entries) { // append new entries - requestCache[request.hashForRequest()].append(entries); + requestCache[request.hashForRequest()].unite(QSet::fromList(entries)); qCDebug(KNEWSTUFFCORE) << request.hashForRequest() << " add: " << entries.size() << " keys: " << requestCache.keys(); } EntryInternal::List Cache::requestFromCache(const KNSCore::Provider::SearchRequest &request) { qCDebug(KNEWSTUFFCORE) << request.hashForRequest(); - return requestCache.value(request.hashForRequest()); + return requestCache.value(request.hashForRequest()).toList(); }