From 947dbcbabc004727b69d7fcae2db320fcc776c6b Mon Sep 17 00:00:00 2001 From: Shauren Date: Wed, 11 Jul 2012 23:27:00 +0200 Subject: Core/Achievements: Fixed crash in CheckAllAchievementCriteria --- src/server/game/Achievements/AchievementMgr.cpp | 14 ++++++++------ src/server/game/Achievements/AchievementMgr.h | 2 +- src/server/game/Entities/Player/Player.cpp | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index 34b38ff1d35..fb24c25fed2 100755 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -817,6 +817,11 @@ void AchievementMgr::LoadFromDB(PreparedQueryResult achievementResult, Pr template void AchievementMgr::Reset() +{ +} + +template<> +void AchievementMgr::Reset() { for (CompletedAchievementMap::const_iterator iter = m_completedAchievements.begin(); iter != m_completedAchievements.end(); ++iter) { @@ -837,7 +842,7 @@ void AchievementMgr::Reset() DeleteFromDB(_owner->GetGUIDLow()); // re-fill data - CheckAllAchievementCriteria(); + CheckAllAchievementCriteria(GetOwner()); } template<> @@ -874,9 +879,6 @@ void AchievementMgr::Reset() m_completedAchievements.clear(); DeleteFromDB(_owner->GetId()); - - // re-fill data - CheckAllAchievementCriteria(); } template @@ -1040,11 +1042,11 @@ void AchievementMgr::SendCriteriaUpdate(AchievementCriteriaEntry const* e * called at player login. The player might have fulfilled some achievements when the achievement system wasn't working yet */ template -void AchievementMgr::CheckAllAchievementCriteria() +void AchievementMgr::CheckAllAchievementCriteria(Player* referencePlayer) { // suppress sending packets for (uint32 i=0; iGetPreparedResult(PLAYER_LOGIN_QUERY_LOADDECLINEDNAMES)); - m_achievementMgr.CheckAllAchievementCriteria(); + m_achievementMgr.CheckAllAchievementCriteria(this); _LoadEquipmentSets(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADEQUIPMENTSETS)); -- cgit v1.2.3