diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 4cf78c23ee..6caf3c670d 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -632,8 +632,16 @@ Menu::Menu() { QString("hifi/tablet/TabletNetworkingPreferences.qml"), "NetworkingPreferencesDialog"); }); addActionToQMenuAndActionHash(networkMenu, MenuOption::ReloadContent, 0, qApp, SLOT(reloadResourceCaches())); - addActionToQMenuAndActionHash(networkMenu, MenuOption::ClearDiskCache, 0, - DependencyManager::get().data(), SLOT(clearCache())); + + action = addActionToQMenuAndActionHash(networkMenu, MenuOption::ClearDiskCaches); + connect(action, &QAction::triggered, [] { + // This cache is cleared immediately + DependencyManager::get()->clearCache(); + + // Clear the KTX cache on the next restart. It can't be cleared immediately because its files might be in use. + Setting::Handle(KTXCache::SETTING_VERSION_NAME, KTXCache::INVALID_VERSION).set(KTXCache::INVALID_VERSION); + }); + addCheckableActionToQMenuAndActionHash(networkMenu, MenuOption::DisableActivityLogger, 0, diff --git a/interface/src/Menu.h b/interface/src/Menu.h index 70687786a9..b8a72c3e93 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -56,7 +56,7 @@ namespace MenuOption { const QString CalibrateCamera = "Calibrate Camera"; const QString CenterPlayerInView = "Center Player In View"; const QString Chat = "Chat..."; - const QString ClearDiskCache = "Clear Disk Cache"; + const QString ClearDiskCaches = "Clear Disk Caches (requires restart)"; const QString Collisions = "Collisions"; const QString Connexion = "Activate 3D Connexion Devices"; const QString Console = "Console...";