aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Conditions/ConditionMgr.cpp
diff options
context:
space:
mode:
authorAokromes <Aokromes@users.noreply.github.com>2016-03-05 19:50:57 +0100
committerAokromes <Aokromes@users.noreply.github.com>2016-03-05 19:50:57 +0100
commitec62a02f5763b7ed39a9441f5989e109c72e4c2a (patch)
treedbfdd9570357c9d18497e1cf2a50179d475fee3a /src/server/game/Conditions/ConditionMgr.cpp
parentce5def332fa12ea4b2f3223fbaa4e41750da9cfb (diff)
parent3a7f311547bd4301abd102eb785c050d5436dce9 (diff)
Merge pull request #16716 from ariel-/conditionleak
Core/Conditions: fix a memory leak
Diffstat (limited to 'src/server/game/Conditions/ConditionMgr.cpp')
-rw-r--r--src/server/game/Conditions/ConditionMgr.cpp35
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)