From 7e0e97ee7ec31512731cbcef625a040266655062 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 29 Aug 2016 17:17:30 +0300 Subject: Call RsourceManager::cleanOrphans not on each resource get, but each 15 seconds. --- src/gui/gui.cpp | 8 ++++++++ src/gui/gui.h | 1 + src/resources/resourcemanager/resourcemanager.cpp | 1 - 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 66ada43b2..32f042ad2 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -140,6 +140,7 @@ Gui::Gui() : mForegroundColor(theme->getColor(ThemeColorId::TEXT, 255)), mForegroundColor2(theme->getColor(ThemeColorId::TEXT_OUTLINE, 255)), mTime(0), + mTime10(0), mCustomCursor(false), mDoubleClick(true) { @@ -352,6 +353,13 @@ void Gui::slowLogic() if (ipc) ipc->flush(); mTime = time; + + if (time > mTime10 || mTime10 - time > 10) + { + mTime10 = time + 10; + if (resourceManager) + resourceManager->cleanOrphans(); + } } BLOCK_END("Gui::slowLogic") diff --git a/src/gui/gui.h b/src/gui/gui.h index 9d42fcd3c..bbeced8d2 100644 --- a/src/gui/gui.h +++ b/src/gui/gui.h @@ -530,6 +530,7 @@ class Gui final Color mForegroundColor; Color mForegroundColor2; time_t mTime; + time_t mTime10; bool mCustomCursor; /**< Show custom cursor */ bool mDoubleClick; }; diff --git a/src/resources/resourcemanager/resourcemanager.cpp b/src/resources/resourcemanager/resourcemanager.cpp index 89e9a8bc6..5ecc58732 100644 --- a/src/resources/resourcemanager/resourcemanager.cpp +++ b/src/resources/resourcemanager/resourcemanager.cpp @@ -481,7 +481,6 @@ Resource *ResourceManager::get(const std::string &idPath, resource->mIdPath.c_str()); #endif mResources[idPath] = resource; - cleanOrphans(); } else { -- cgit v1.2.3-70-g09d2