summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/godcompanions.cc
diff options
context:
space:
mode:
authorDracoOmega <draco_omega@live.com>2013-03-06 01:12:42 -0330
committerDracoOmega <draco_omega@live.com>2013-03-06 01:20:22 -0330
commitc87ed009d656a0237ab93d8548e8f30c7a8bab0d (patch)
treebf23a557e4982aebb4ec05892ea7d093aba308c1 /crawl-ref/source/godcompanions.cc
parent37b8440318fc9dea9791e04a90593765f0371e03 (diff)
downloadcrawl-ref-c87ed009d656a0237ab93d8548e8f30c7a8bab0d.tar.gz
crawl-ref-c87ed009d656a0237ab93d8548e8f30c7a8bab0d.zip
Fix a crash with abandoning Yred/Beogh
Diffstat (limited to 'crawl-ref/source/godcompanions.cc')
-rw-r--r--crawl-ref/source/godcompanions.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/crawl-ref/source/godcompanions.cc b/crawl-ref/source/godcompanions.cc
index f306f2f74f..2d521f7504 100644
--- a/crawl-ref/source/godcompanions.cc
+++ b/crawl-ref/source/godcompanions.cc
@@ -40,7 +40,7 @@ void remove_companion(monster* mons)
void remove_all_companions(god_type god)
{
for(map<mid_t, companion>::iterator i = companion_list.begin();
- i != companion_list.end(); ++i )
+ i != companion_list.end();)
{
monster* mons = monster_by_mid(i->first);
if (!mons)
@@ -51,8 +51,10 @@ void remove_all_companions(god_type god)
&& mons->wont_attack()
&& mons_is_god_gift(mons, GOD_BEOGH)))
{
- companion_list.erase(i);
+ companion_list.erase(i++);
}
+ else
+ ++i;
}
}