Index: /trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapBBoxChooser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapBBoxChooser.java	(revision 4464)
+++ /trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapBBoxChooser.java	(revision 4465)
@@ -3,5 +3,4 @@
 
 import java.awt.Color;
-import java.awt.Desktop;
 import java.awt.Dimension;
 import java.awt.Graphics;
@@ -12,6 +11,4 @@
 import java.io.File;
 import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -40,4 +37,5 @@
 import org.openstreetmap.josm.data.preferences.StringProperty;
 import org.openstreetmap.josm.gui.layer.TMSLayer;
+import org.openstreetmap.josm.tools.OpenBrowser;
 
 public class SlippyMapBBoxChooser extends JMapViewer implements BBoxChooser{
@@ -223,23 +221,17 @@
         /* TODO: Somehow indicate the link is clickable state to user */
 
-        try {
-            if((attrImageBounds != null && attrImageBounds.contains(p))
-            || (attrTextBounds != null && attrTextBounds.contains(p))) {
-                if(click)
-                    Desktop.getDesktop().browse(new URI(ts.getAttributionLinkURL()));
-                /*else
-                    Main.warn(ts.getAttributionLinkURL());*/
-                return true;
-            } else if(attrToUBounds != null && attrToUBounds.contains(p)) {
-                if(click)
-                    Desktop.getDesktop().browse(new URI(ts.getTermsOfUseURL()));
-                /*else
-                    Main.warn(ts.getTermsOfUseURL());*/
-                return true;
-            }
-        } catch (IOException e1) {
-            e1.printStackTrace();
-        } catch (URISyntaxException e1) {
-            e1.printStackTrace();
+        if ((attrImageBounds != null && attrImageBounds.contains(p))
+                || (attrTextBounds != null && attrTextBounds.contains(p))) {
+            if (click)
+                OpenBrowser.displayUrl(ts.getAttributionLinkURL());
+            /*else
+                Main.warn(ts.getAttributionLinkURL());*/
+            return true;
+        } else if (attrToUBounds != null && attrToUBounds.contains(p)) {
+            if (click)
+                OpenBrowser.displayUrl(ts.getTermsOfUseURL());
+            /*else
+                Main.warn(ts.getTermsOfUseURL());*/
+            return true;
         }
         return false;
Index: /trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java	(revision 4464)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java	(revision 4465)
@@ -20,6 +20,4 @@
 import java.io.File;
 import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -70,4 +68,5 @@
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
 import org.openstreetmap.josm.gui.dialogs.LayerListPopup;
+import org.openstreetmap.josm.tools.OpenBrowser;
 
 /**
@@ -478,26 +477,12 @@
                             tileOptionMenu.show(e.getComponent(), e.getX(), e.getY());
                         } else if (e.getButton() == MouseEvent.BUTTON1) {
-                            if(!tileSource.requiresAttribution())
+                            if (!tileSource.requiresAttribution())
                                 return;
 
-                            if((attrImageBounds != null && attrImageBounds.contains(e.getPoint()))
-                            || (attrTextBounds != null && attrTextBounds.contains(e.getPoint()))) {
-                                try {
-                                    java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
-                                    desktop.browse(new URI(tileSource.getAttributionLinkURL()));
-                                } catch (IOException e1) {
-                                    e1.printStackTrace();
-                                } catch (URISyntaxException e1) {
-                                    e1.printStackTrace();
-                                }
-                            } else if(attrToUBounds != null && attrToUBounds.contains(e.getPoint())) {
-                                try {
-                                    java.awt.Desktop desktop = java.awt.Desktop.getDesktop();
-                                    desktop.browse(new URI(tileSource.getTermsOfUseURL()));
-                                } catch (IOException e1) {
-                                    e1.printStackTrace();
-                                } catch (URISyntaxException e1) {
-                                    e1.printStackTrace();
-                                }
+                            if ((attrImageBounds != null && attrImageBounds.contains(e.getPoint()))
+                                    || (attrTextBounds != null && attrTextBounds.contains(e.getPoint()))) {
+                                OpenBrowser.displayUrl(tileSource.getAttributionLinkURL());
+                            } else if (attrToUBounds != null && attrToUBounds.contains(e.getPoint())) {
+                                OpenBrowser.displayUrl(tileSource.getTermsOfUseURL());
                             }
                         }
