diff --git a/lib/libimhex/source/api/achievement_manager.cpp b/lib/libimhex/source/api/achievement_manager.cpp index 92b179d95..953bbf150 100644 --- a/lib/libimhex/source/api/achievement_manager.cpp +++ b/lib/libimhex/source/api/achievement_manager.cpp @@ -128,6 +128,8 @@ namespace hex { if (achievement->isUnlocked()) EventManager::post(*achievement); + + return; } } diff --git a/plugins/builtin/source/content/achievements.cpp b/plugins/builtin/source/content/achievements.cpp index 508b14cf7..56af45e8e 100644 --- a/plugins/builtin/source/content/achievements.cpp +++ b/plugins/builtin/source/content/achievements.cpp @@ -201,9 +201,11 @@ namespace hex::plugin::builtin { EventManager::subscribe(AchievementManager::loadProgress); - EventManager::subscribe(AchievementManager::storeProgress); + EventManager::subscribe([](const Achievement &) { + AchievementManager::storeProgress(); + }); - // Clear temporary achievements when last provider is closed + // Clear temporary achievements when the last provider is closed EventManager::subscribe([](hex::prv::Provider *oldProvider, hex::prv::Provider *newProvider) { hex::unused(oldProvider); if (newProvider == nullptr) {