Fix crash in SelectTargetList

Fixes issue #578.

--HG--
branch : trunk
This commit is contained in:
Trazom62
2010-01-30 22:42:04 +01:00
parent aee31b9164
commit 4732618c22
+4 -3
View File
@@ -180,16 +180,17 @@ void UnitAI::SelectTargetList(std::list<Unit*> &targetList, uint32 num, SelectAg
targetList.push_back((*itr)->getTarget());
if (targetType == SELECT_TARGET_NEAREST || targetType == SELECT_TARGET_FARTHEST)
{
targetList.sort(TargetDistanceOrder(me));
}
if (targetType == SELECT_TARGET_FARTHEST || targetType == SELECT_TARGET_BOTTOMAGGRO)
targetList.reverse();
if (targetList.size() < num)
return;
if (targetType == SELECT_TARGET_RANDOM)
{
while (num > targetList.size()) {
while (num < targetList.size()) {
std::list<Unit*>::iterator itr = targetList.begin();
advance(itr, urand(0, targetList.size()-1));
targetList.erase(itr);