diff options
author | DracoOmega <draco_omega@live.com> | 2013-03-06 01:12:42 -0330 |
---|---|---|
committer | DracoOmega <draco_omega@live.com> | 2013-03-06 01:20:22 -0330 |
commit | c87ed009d656a0237ab93d8548e8f30c7a8bab0d (patch) | |
tree | bf23a557e4982aebb4ec05892ea7d093aba308c1 /crawl-ref/source/godcompanions.cc | |
parent | 37b8440318fc9dea9791e04a90593765f0371e03 (diff) | |
download | crawl-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.cc | 6 |
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; } } |