Do not iterate over map when removing its values

(cherry picked from commit 29b2882381)
This commit is contained in:
Rafał Mikrut 2020-12-31 15:47:37 +01:00 committed by Rémi Verschelde
parent 58efe5f313
commit 927010e90f
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -1049,8 +1049,9 @@ void TileMap::update_dirty_bitmask() {
void TileMap::fix_invalid_tiles() {
ERR_FAIL_COND_MSG(tile_set.is_null(), "Cannot fix invalid tiles if Tileset is not open.");
for (Map<PosKey, Cell>::Element *E = tile_map.front(); E; E = E->next()) {
Map<PosKey, Cell> temp_tile_map = tile_map;
for (Map<PosKey, Cell>::Element *E = temp_tile_map.front(); E; E = E->next()) {
if (!tile_set->has_tile(get_cell(E->key().x, E->key().y))) {
set_cell(E->key().x, E->key().y, INVALID_CELL);
}