aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Conditions/ConditionMgr.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/server/game/Conditions/ConditionMgr.cpp b/src/server/game/Conditions/ConditionMgr.cpp
index 689a6de9eb9..7565451b2a7 100755
--- a/src/server/game/Conditions/ConditionMgr.cpp
+++ b/src/server/game/Conditions/ConditionMgr.cpp
@@ -520,23 +520,24 @@ void ConditionMgr::LoadConditions(bool isReload)
bIsDone = addToGossipMenuItems(cond);
break;
case CONDITION_SOURCE_TYPE_VEHICLE_SPELL:
+ {
+ //if no list for vehicle create one
+ if (m_VehicleSpellConditions.find(cond->mSourceGroup) == m_VehicleSpellConditions.end())
{
- //if no list for vehicle create one
- if (m_VehicleSpellConditions.find(cond->mSourceGroup) == m_VehicleSpellConditions.end())
- {
- ConditionTypeMap cmap;
- m_VehicleSpellConditions[cond->mSourceGroup] = cmap;
- }
- //if no list for vehicle's spell create one
- if (m_VehicleSpellConditions[cond->mSourceGroup].find(cond->mSourceEntry) == m_VehicleSpellConditions[cond->mSourceGroup].end())
- {
- ConditionList clist;
- m_VehicleSpellConditions[cond->mSourceGroup][cond->mSourceEntry] = clist;
- }
- m_VehicleSpellConditions[cond->mSourceGroup][cond->mSourceEntry].push_back(cond);
- bIsDone = true;
- break;
+ ConditionTypeMap cmap;
+ m_VehicleSpellConditions[cond->mSourceGroup] = cmap;
+ }
+ //if no list for vehicle's spell create one
+ if (m_VehicleSpellConditions[cond->mSourceGroup].find(cond->mSourceEntry) == m_VehicleSpellConditions[cond->mSourceGroup].end())
+ {
+ ConditionList clist;
+ m_VehicleSpellConditions[cond->mSourceGroup][cond->mSourceEntry] = clist;
}
+ m_VehicleSpellConditions[cond->mSourceGroup][cond->mSourceEntry].push_back(cond);
+ bIsDone = true;
+ ++count;
+ continue; // do not add to m_AllocatedMemory to avoid double deleting
+ }
default:
break;
}