diff options
| author | ariel- <ariel.silva305@gmail.com> | 2016-03-02 22:02:45 -0300 | 
|---|---|---|
| committer | ariel- <ariel.silva305@gmail.com> | 2016-03-02 23:31:22 -0300 | 
| commit | 3a7f311547bd4301abd102eb785c050d5436dce9 (patch) | |
| tree | 54e11b1a6f850a7b0b0e94ed08b3e7aff29f7ece /src/server/game/Conditions/ConditionMgr.cpp | |
| parent | d0263c03fd7cc7291b2eed2a3ca027cf1a8926e2 (diff) | |
Core/Conditions: fix a memory leak for CONDITION_SOURCE_TYPE_TERRAIN_SWAP
Reported by Aokromes.
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.cpp')
| -rw-r--r-- | src/server/game/Conditions/ConditionMgr.cpp | 35 | 
1 files changed, 1 insertions, 34 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp index ed3ae7cb8e5..3dfbb2a12e1 100644 --- a/src/server/game/Conditions/ConditionMgr.cpp +++ b/src/server/game/Conditions/ConditionMgr.cpp @@ -954,6 +954,7 @@ void ConditionMgr::LoadConditions(bool isReload)          TC_LOG_INFO("misc", "Re-Loading `gossip_menu_option` Table for Conditions!");          sObjectMgr->LoadGossipMenuItems(); +          sSpellMgr->UnloadSpellInfoImplicitTargetConditionLists();          TC_LOG_INFO("misc", "Re-Loading `terrain_phase_info` Table for Conditions!"); @@ -1181,17 +1182,6 @@ void ConditionMgr::LoadConditions(bool isReload)              }              continue;          } -        else if (cond->SourceType == CONDITION_SOURCE_TYPE_TERRAIN_SWAP) -        { -            if (!addToTerrainSwaps(cond)) -            { -                delete cond; -                continue; -            } - -            ++count; -            continue; -        }          //handle not grouped conditions          //add new Condition to storage based on Type/Entry @@ -1361,29 +1351,6 @@ bool ConditionMgr::addToSpellImplicitTargetConditions(Condition* cond) const      return true;  } -static bool addToTerrainSwapStore(TerrainPhaseInfo& swaps, Condition* cond) -{ -    bool added = false; -    for (auto itr = swaps.begin(); itr != swaps.end(); ++itr) -        for (auto it2 = itr->second.begin(); it2 != itr->second.end(); ++it2) -            if (it2->Id == uint32(cond->SourceEntry)) -                it2->Conditions.push_back(cond), added = true; - -    return added; -} - -bool ConditionMgr::addToTerrainSwaps(Condition* cond) const -{ -    bool added = false; -    added = addToTerrainSwapStore(sObjectMgr->GetPhaseTerrainSwapStoreForLoading(), cond); -    added = addToTerrainSwapStore(sObjectMgr->GetDefaultTerrainSwapStoreForLoading(), cond) || added; -    if (added) -        return true; - -    TC_LOG_ERROR("sql.sql", "%s No terrain swap with map %u exists.", cond->ToString().c_str(), cond->SourceEntry); -    return false; -} -  bool ConditionMgr::addToPhases(Condition* cond) const  {      if (!cond->SourceEntry)  | 
