Index: /trunk/src/org/openstreetmap/josm/actions/FullscreenToggleAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/FullscreenToggleAction.java	(revision 4202)
+++ /trunk/src/org/openstreetmap/josm/actions/FullscreenToggleAction.java	(revision 4203)
@@ -45,12 +45,4 @@
         selected = Main.pref.getBoolean("draw.fullscreen", false);
         notifySelectedState();
-    }
-
-    public boolean canFullscreen() {
-        /* We only support fullscreen, see
-         * http://lists.openstreetmap.org/pipermail/josm-dev/2009-March/002659.html
-         * for why
-         */
-        return Main.platform instanceof PlatformHookUnixoid && gd.isFullScreenSupported();
     }
 
@@ -105,5 +97,5 @@
             frame.setBounds(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
         }
-        
+
         // we cannot use hw-exclusive fullscreen mode in MS-Win, as long
         // as josm throws out modal dialogs, see here:
Index: /trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java	(revision 4202)
+++ /trunk/src/org/openstreetmap/josm/data/imagery/ImageryLayerInfo.java	(revision 4203)
@@ -42,16 +42,18 @@
                 Collections.<Collection<String>>emptySet())) {
             ImageryInfo i = new ImageryInfo(c);
-            /* FIXME: Remove the attribution copy stuff end of 2011 */
-            if(!i.hasAttribution()) {
-                String url = i.getUrl();
-                for(ImageryInfo d : defaultLayers) {
-                    if(url.equals(d.getUrl())) {
-                        i.copyAttribution(d);
-                        i.setBounds(d.getBounds());
-                        break;
+            String url = i.getUrl();
+            if(url != null) {
+                /* FIXME: Remove the attribution copy stuff end of 2011 */
+                if(!i.hasAttribution()) {
+                    for(ImageryInfo d : defaultLayers) {
+                        if(url.equals(d.getUrl())) {
+                            i.copyAttribution(d);
+                            i.setBounds(d.getBounds());
+                            break;
+                        }
                     }
                 }
+                add(i);
             }
-            add(i);
         }
         Collections.sort(layers);
Index: /trunk/src/org/openstreetmap/josm/gui/MainMenu.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 4202)
+++ /trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 4203)
@@ -306,5 +306,5 @@
             // -- fullscreen toggle action
             fullscreenToggleAction = new FullscreenToggleAction();
-            if (fullscreenToggleAction.canFullscreen()) {
+            if (Main.platform.canFullscreen()) {
                 final JCheckBoxMenuItem fullscreen = new JCheckBoxMenuItem(fullscreenToggleAction);
                 viewMenu.addSeparator();
Index: /trunk/src/org/openstreetmap/josm/tools/PlatformHook.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/PlatformHook.java	(revision 4202)
+++ /trunk/src/org/openstreetmap/josm/tools/PlatformHook.java	(revision 4203)
@@ -104,4 +104,6 @@
     public String getDefaultStyle();
 
+    public boolean canFullscreen();
+
     public boolean rename(File from, File to);
 }
Index: /trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java	(revision 4202)
+++ /trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java	(revision 4203)
@@ -272,4 +272,10 @@
 
     @Override
+    public boolean canFullscreen()
+    {
+        return false;
+    }
+
+    @Override
     public boolean rename(File from, File to)
     {
Index: /trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 4202)
+++ /trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 4203)
@@ -2,4 +2,5 @@
 package org.openstreetmap.josm.tools;
 
+import java.awt.GraphicsEnvironment;
 import java.awt.event.KeyEvent;
 import java.io.File;
@@ -81,4 +82,11 @@
 
     @Override
+    public boolean canFullscreen()
+    {
+        return GraphicsEnvironment.getLocalGraphicsEnvironment()
+        .getDefaultScreenDevice().isFullScreenSupported();
+    }
+
+    @Override
     public boolean rename(File from, File to)
     {
Index: /trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java	(revision 4202)
+++ /trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java	(revision 4203)
@@ -63,4 +63,10 @@
 
     @Override
+    public boolean canFullscreen()
+    {
+        return false;
+    }
+
+    @Override
     public boolean rename(File from, File to)
     {
