Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 1848)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 1849)
@@ -447,5 +447,5 @@
     }
 
-    protected static void determinePlatformHook() {
+    public static void determinePlatformHook() {
         String os = System.getProperty("os.name");
         if (os == null) {
Index: trunk/src/org/openstreetmap/josm/data/projection/Lambert.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/Lambert.java	(revision 1848)
+++ trunk/src/org/openstreetmap/josm/data/projection/Lambert.java	(revision 1849)
@@ -13,5 +13,4 @@
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.ProjectionBounds;
 
 public class Lambert implements Projection {
@@ -69,6 +68,4 @@
 
     private static int currentZone = 0;
-
-    private static boolean dontDisplayErrors = false;
 
     /**
@@ -110,5 +107,4 @@
             if (layoutZone == -1) {
                 layoutZone = currentZone;
-                dontDisplayErrors = false;
             } else if (layoutZone != currentZone) {
                 if ((currentZone < layoutZone && Math.abs(zoneLimits[currentZone] - lt) > cMaxOverlappingZones)
@@ -121,5 +117,4 @@
                     + "and start a new layer on the new zone."));
                     layoutZone = -1;
-                    dontDisplayErrors = true;
                 } else {
                     System.out.println("temporarily extend Lambert zone " + layoutZone + " projection at lat,lon:"
@@ -128,7 +123,6 @@
             }
         }
-        if (layoutZone == -1) {
+        if (layoutZone == -1)
             return ConicProjection(lt, lg, Xs[currentZone], Ys[currentZone], c[currentZone], n[currentZone]);
-        } // else
         return ConicProjection(lt, lg, Xs[layoutZone], Ys[layoutZone], c[layoutZone], n[layoutZone]);
     }
@@ -280,6 +274,6 @@
     {
         return new Bounds(
-        new LatLon(-90.0, -180.0),
-        new LatLon(90.0, 180.0));
+                new LatLon(45.0, -4.9074074074074059),
+                new LatLon(57.0, 10.2));
     }
 }
Index: trunk/src/org/openstreetmap/josm/gui/MainApplet.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MainApplet.java	(revision 1848)
+++ trunk/src/org/openstreetmap/josm/gui/MainApplet.java	(revision 1849)
@@ -101,4 +101,10 @@
         Main.preConstructorInit(args);
         Main.parent = this;
+
+        // initialize the plaform hook, and
+        Main.determinePlatformHook();
+        // call the really early hook before we anything else
+        Main.platform.preStartupHook();
+
         new MainCaller().postConstructorProcessCmdLine(args);
 
