From 77dcefc9a102000c01b2219a924621e5a98e7896 Mon Sep 17 00:00:00 2001 From: Cvolton Date: Sun, 4 Aug 2024 21:06:50 +0200 Subject: [PATCH] add fix for mac level lists bug --- src/main.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index aadc2b3..b1272a6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -26,6 +26,27 @@ void BI_DLL finishLoadingManagers() { BetterInfoCache::sharedState()->finishLoading(); } +void BI_DLL fixLevelLists() { + log::info("Deleting level lists created by Mac bug"); + + auto LLM = LocalLevelManager::sharedState(); + auto lists = CCArrayExt(LLM->m_localLists); + + std::vector blanks; + + for(auto list : lists) { + if(list->m_listID == 0 && list->m_listName.empty() && list->m_levels.empty() && list->m_levelsString.empty()) { + blanks.push_back(list); + } + } + + if(blanks.size() > 10) { + for(auto list : blanks) { + LLM->m_localLists->removeObject(list); + } + } +} + class BI_DLL $modify(MenuLayer) { bool init() { if(!MenuLayer::init()) return false; @@ -36,6 +57,7 @@ class BI_DLL $modify(MenuLayer) { if(!managersLoaded) { managersLoaded = true; finishLoadingManagers(); + fixLevelLists(); } return true;