altosuilib: Serialize access to async tile notify function in preload
[fw/altos] / altosuilib / AltosUIMapPreload.java
index d702dddfee70f59029a6a3356e019544d7444229..c91b06b8b1e197fd42d3b14b3959a47655870ab6 100644 (file)
@@ -209,6 +209,7 @@ class AltosUISites extends Thread {
 public class AltosUIMapPreload extends AltosUIFrame implements ActionListener, ItemListener, AltosUIMapTileListener {
        AltosUIFrame    owner;
        AltosUIMap      map;
 public class AltosUIMapPreload extends AltosUIFrame implements ActionListener, ItemListener, AltosUIMapTileListener {
        AltosUIFrame    owner;
        AltosUIMap      map;
+       AltosUIMapCache cache = new AltosUIMapCache();
 
        AltosUIMapPos   lat;
        AltosUIMapPos   lon;
 
        AltosUIMapPos   lat;
        AltosUIMapPos   lon;
@@ -326,7 +327,7 @@ public class AltosUIMapPreload extends AltosUIFrame implements ActionListener, I
 
        /* AltosUIMapTileListener methods */
 
 
        /* AltosUIMapTileListener methods */
 
-       public void notify_tile(AltosUIMapTile tile, int status) {
+       public synchronized void notify_tile(AltosUIMapTile tile, int status) {
                if (status == AltosUIMapStore.loading)
                        return;
 
                if (status == AltosUIMapStore.loading)
                        return;
 
@@ -353,6 +354,8 @@ public class AltosUIMapPreload extends AltosUIFrame implements ActionListener, I
                }
        }
 
                }
        }
 
+       public AltosUIMapCache cache() { return cache; }
+
        public void set_sites() {
                int     i = 1;
                for (AltosUISite site : sites.sites) {
        public void set_sites() {
                int     i = 1;
                for (AltosUISite site : sites.sites) {