X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosMap.java;h=c79e52294d20942321b8af7ec047cbdfcf92b32f;hb=09acb6821ab490d69f679a195e70acb4a71ba342;hp=6c08f2d73ddcae1d0cc31caa89da8e93528cc424;hpb=7041c386cdf37716f8daf0bc1a9204db620e3de9;p=fw%2Faltos diff --git a/altoslib/AltosMap.java b/altoslib/AltosMap.java index 6c08f2d7..c79e5229 100644 --- a/altoslib/AltosMap.java +++ b/altoslib/AltosMap.java @@ -308,7 +308,11 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { upper_left = floor(transform.screen_point(new AltosPointInt(0, 0))); lower_right = floor(transform.screen_point(new AltosPointInt(width(), height()))); } - for (AltosPointInt point : tiles.keySet()) { + + Enumeration keyEnumeration = tiles.keys(); + + while (keyEnumeration.hasMoreElements()) { + AltosPointInt point = keyEnumeration.nextElement(); if (point.x < upper_left.x || lower_right.x < point.x || point.y < upper_left.y || lower_right.y < point.y) { tiles.remove(point); @@ -377,7 +381,10 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { /* AltosMapTileListener methods */ public synchronized void notify_tile(AltosMapTile tile, int status) { - for (AltosPointInt point : tiles.keySet()) { + Enumeration keyEnumeration = tiles.keys(); + + while (keyEnumeration.hasMoreElements()) { + AltosPointInt point = keyEnumeration.nextElement(); if (tile == tiles.get(point)) { AltosPointInt screen = transform.screen(point); repaint(screen.x, screen.y, AltosMap.px_size, AltosMap.px_size);