From 0c3adf93a0989931eefd23d521a440461bf0bd4f Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Fri, 19 Jun 2015 16:29:27 -0400 Subject: [PATCH 1/2] call ThinkDifferent via reflection --- core/src/processing/core/PSurfaceAWT.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/core/src/processing/core/PSurfaceAWT.java b/core/src/processing/core/PSurfaceAWT.java index e6a48c790..d2012b679 100644 --- a/core/src/processing/core/PSurfaceAWT.java +++ b/core/src/processing/core/PSurfaceAWT.java @@ -26,6 +26,7 @@ import java.awt.*; import java.awt.event.*; import java.awt.geom.Rectangle2D; import java.awt.image.*; +import java.lang.reflect.Method; import java.net.URL; import java.util.ArrayList; @@ -1029,7 +1030,21 @@ public class PSurfaceAWT extends PSurfaceNone { // On OS X, set this for AWT surfaces, which handles the dock image // as well as the cmd-tab image that's shown. Just one size, I guess. URL url = PApplet.class.getResource("/icon/icon-512.png"); - ThinkDifferent.setIconImage(Toolkit.getDefaultToolkit().getImage(url)); + // Seems dangerous to have this in code instead of using reflection, no? + //ThinkDifferent.setIconImage(Toolkit.getDefaultToolkit().getImage(url)); + try { + final String td = "processing.core.ThinkDifferent"; + Class thinkDifferent = + Thread.currentThread().getContextClassLoader().loadClass(td); + + Method method = + thinkDifferent.getMethod("setIconImage", new Class[] { java.awt.Image.class }); + method.invoke(null, new Object[] { Toolkit.getDefaultToolkit().getImage(url) }); + + } catch (Exception e) { + e.printStackTrace(); // That's unfortunate + } + } } From 5c543e40d01be12131a2b98a576bd53b6c4b503c Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Fri, 19 Jun 2015 16:39:58 -0400 Subject: [PATCH 2/2] won't be needing these spaces --- core/src/processing/core/PApplet.java | 2 -- core/src/processing/core/PSurfaceAWT.java | 2 -- 2 files changed, 4 deletions(-) diff --git a/core/src/processing/core/PApplet.java b/core/src/processing/core/PApplet.java index 656459164..60eadeb7a 100644 --- a/core/src/processing/core/PApplet.java +++ b/core/src/processing/core/PApplet.java @@ -10018,11 +10018,9 @@ public class PApplet implements PConstants { final String td = "processing.core.ThinkDifferent"; Class thinkDifferent = Thread.currentThread().getContextClassLoader().loadClass(td); - Method method = thinkDifferent.getMethod("init", new Class[] { PApplet.class }); method.invoke(null, new Object[] { sketch }); - } catch (Exception e) { e.printStackTrace(); // That's unfortunate } diff --git a/core/src/processing/core/PSurfaceAWT.java b/core/src/processing/core/PSurfaceAWT.java index d2012b679..5ee737b0a 100644 --- a/core/src/processing/core/PSurfaceAWT.java +++ b/core/src/processing/core/PSurfaceAWT.java @@ -1036,11 +1036,9 @@ public class PSurfaceAWT extends PSurfaceNone { final String td = "processing.core.ThinkDifferent"; Class thinkDifferent = Thread.currentThread().getContextClassLoader().loadClass(td); - Method method = thinkDifferent.getMethod("setIconImage", new Class[] { java.awt.Image.class }); method.invoke(null, new Object[] { Toolkit.getDefaultToolkit().getImage(url) }); - } catch (Exception e) { e.printStackTrace(); // That's unfortunate }