From 9df210b7d485ea4a67178429f5aaf8ecba2ca69d Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Sun, 6 Nov 2016 21:27:25 -0500 Subject: [PATCH] catching openURL() issues on macOS --- .../processing/app/platform/MacPlatform.java | 18 ++++++++++++++++++ app/src/processing/app/ui/Editor.java | 1 + 2 files changed, 19 insertions(+) diff --git a/app/src/processing/app/platform/MacPlatform.java b/app/src/processing/app/platform/MacPlatform.java index 8fab34e6d..b3fd404d9 100644 --- a/app/src/processing/app/platform/MacPlatform.java +++ b/app/src/processing/app/platform/MacPlatform.java @@ -22,9 +22,11 @@ package processing.app.platform; +import java.awt.Desktop; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; +import java.net.URI; import com.apple.eio.FileManager; @@ -62,6 +64,7 @@ public class MacPlatform extends DefaultPlatform { } } + public void initBase(Base base) { super.initBase(base); System.setProperty("apple.laf.useScreenMenuBar", "true"); @@ -127,6 +130,21 @@ public class MacPlatform extends DefaultPlatform { // } + public void openURL(String url) throws Exception { + try { + Desktop.getDesktop().browse(new URI(url)); + } catch (IOException e) { + // Deal with a situation where the browser hangs on macOS + // https://github.com/fathominfo/processing-p5js-mode/issues/4 + if (e.getMessage().contains("Error code: -600")) { + throw new RuntimeException("Could not open the sketch, please restart your browser or computer"); + } else { + throw e; + } + } + } + + /* public void openURL(String url) throws Exception { if (PApplet.javaVersion < 1.6f) { diff --git a/app/src/processing/app/ui/Editor.java b/app/src/processing/app/ui/Editor.java index fd2de22be..b4baaa71a 100644 --- a/app/src/processing/app/ui/Editor.java +++ b/app/src/processing/app/ui/Editor.java @@ -2579,6 +2579,7 @@ public abstract class Editor extends JFrame implements RunnerListener { Preferences.save(); } + /** * Set the title of the PDE window based on the current sketch, i.e. * something like "sketch_070752a - Processing 0126"