diff --git a/app/src/cc/arduino/UpdatableBoardsLibsFakeURLsHandler.java b/app/src/cc/arduino/UpdatableBoardsLibsFakeURLsHandler.java index 77694d925..3b9dadded 100644 --- a/app/src/cc/arduino/UpdatableBoardsLibsFakeURLsHandler.java +++ b/app/src/cc/arduino/UpdatableBoardsLibsFakeURLsHandler.java @@ -34,6 +34,10 @@ import processing.app.Base; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; import java.net.URL; +import java.net.URI; +import java.awt.Desktop; +import java.io.IOException; +import java.net.URISyntaxException; public class UpdatableBoardsLibsFakeURLsHandler implements HyperlinkListener { @@ -71,6 +75,18 @@ public class UpdatableBoardsLibsFakeURLsHandler implements HyperlinkListener { return; } + if(Desktop.isDesktopSupported()) + { + try { + Desktop.getDesktop().browse(url.toURI()); + return; + } catch (IOException e) { + throw new IllegalArgumentException(url.getHost() + " is invalid"); + } catch (URISyntaxException e) { + throw new IllegalArgumentException(url.getHost() + " is invalid"); + } + } + throw new IllegalArgumentException(url.getHost() + " is invalid"); }