Fix issue in cfed64dd4f
pointed out by @jyrkive
Apparently, my new method would cause the underlying iterator to be invalidated.
This commit is contained in:
parent
b09bd5bbb5
commit
4180a36d33
1 changed files with 6 additions and 4 deletions
|
@ -222,11 +222,13 @@ void lobby_info::sync_games_display_status()
|
|||
DBG_LB << "lobby_info::sync_games_display_status";
|
||||
DBG_LB << "games_by_id_ size: " << games_by_id_.size();
|
||||
|
||||
for(auto& game : games_by_id_) {
|
||||
if(game.second->display_status == game_info::DELETED) {
|
||||
games_by_id_.erase(game.first);
|
||||
game_info_map::iterator i = games_by_id_.begin();
|
||||
while(i != games_by_id_.end()) {
|
||||
if(i->second->display_status == game_info::DELETED) {
|
||||
i = games_by_id_.erase(i);
|
||||
} else {
|
||||
game.second->display_status = game_info::CLEAN;
|
||||
i->second->display_status = game_info::CLEAN;
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue