From 1f9e6bd8bb343c77e253b220358e0797adf51d64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Fauconnier?= Date: Tue, 28 Nov 2017 09:40:39 +0100 Subject: [PATCH] fixed a crash where a scene was removed : the compactCache method has no more sense now that we load each scene to create a view on it (thumbnail views) --- src/core/UBSceneCache.cpp | 40 --------------------------------------- src/core/UBSceneCache.h | 2 -- 2 files changed, 42 deletions(-) diff --git a/src/core/UBSceneCache.cpp b/src/core/UBSceneCache.cpp index 086535e5..756acef4 100644 --- a/src/core/UBSceneCache.cpp +++ b/src/core/UBSceneCache.cpp @@ -81,11 +81,6 @@ void UBSceneCache::insert (UBDocumentProxy* proxy, int pageIndex, UBGraphicsScen } else { - if (mCachedSceneCount >= UBSettings::settings()->pageCacheSize->get().toInt()) - { - compactCache(); - } - QHash::insert(key, scene); mCachedKeyFIFO.enqueue(key); @@ -231,41 +226,6 @@ void UBSceneCache::internalMoveScene(UBDocumentProxy* proxy, int sourceIndex, in } } - -void UBSceneCache::compactCache() -{ - bool foundUnusedScene = false; - int count = 0; - - do - { - if (!mCachedKeyFIFO.isEmpty()) - { - const UBSceneCacheID nextKey = mCachedKeyFIFO.dequeue(); - - if (QHash::contains(nextKey)) - { - UBGraphicsScene* scene = QHash::value(nextKey); - - if (scene && scene->views().size() == 0) - { - removeScene(nextKey.documentProxy, nextKey.pageIndex); - foundUnusedScene = true; - } - else - { - mCachedKeyFIFO.enqueue(nextKey); - } - } - } - - count++; - } - while (!foundUnusedScene && count < mCachedKeyFIFO.size()); - -} - - void UBSceneCache::dumpCacheContent() { foreach(UBSceneCacheID key, keys()) diff --git a/src/core/UBSceneCache.h b/src/core/UBSceneCache.h index dcc47fb3..ea80320e 100644 --- a/src/core/UBSceneCache.h +++ b/src/core/UBSceneCache.h @@ -107,8 +107,6 @@ class UBSceneCache : public QHash void dumpCacheContent(); - void compactCache(); - int mCachedSceneCount; QQueue mCachedKeyFIFO;