diff --git a/build/shared/revisions.txt b/build/shared/revisions.txt index 3347ad410..50db53809 100644 --- a/build/shared/revisions.txt +++ b/build/shared/revisions.txt @@ -17,6 +17,7 @@ https://github.com/processing/processing/issues/new Meanwhile, Jakub Valtar is holed up at Fathom in Boston, fixing all of the bugs. See "your contributions are funding graphics fixes," below. + [ bug fixes ] + Fix NullPointerException with some sketches that have no size() command @@ -85,6 +86,10 @@ the bugs. See "your contributions are funding graphics fixes," below. https://github.com/processing/processing/issues/3603 https://github.com/processing/processing/pull/3611 ++ CM "Updates" badge appears even when there are no updates + https://github.com/processing/processing/issues/3597 + https://github.com/processing/processing/pull/3625 + [ fixed earlier, spring cleaning ] diff --git a/core/todo.txt b/core/todo.txt index b9930ae98..b0829c444 100644 --- a/core/todo.txt +++ b/core/todo.txt @@ -42,6 +42,11 @@ X filter(PShader) broken in HDPI mode X https://github.com/processing/processing/issues/3577 +known issues +_ P2D and P3D windows behave strangely when larger than the screen size +_ https://github.com/processing/processing/issues/3401 + + docs _ note that full screen and present are now different _ on Export to Application, this has an impact diff --git a/java/src/processing/mode/java/JavaEditor.java b/java/src/processing/mode/java/JavaEditor.java index 7f3032ac4..68121f518 100644 --- a/java/src/processing/mode/java/JavaEditor.java +++ b/java/src/processing/mode/java/JavaEditor.java @@ -325,11 +325,12 @@ public class JavaEditor extends Editor { }); JMenuItem tweakItem = Toolkit.newJMenuItemShift(Language.text("menu.sketch.tweak"), 'T'); - tweakItem.setSelected(JavaMode.enableTweak); +// tweakItem.setSelected(JavaMode.enableTweak); tweakItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - JavaMode.enableTweak = true; - handleRun(); +// JavaMode.enableTweak = true; +// handleRun(); + handleTweak(); } }); @@ -1157,7 +1158,8 @@ public class JavaEditor extends Editor { prepareRun(); try { toolbar.activateRun(); - runtime = jmode.handleRun(sketch, JavaEditor.this); + //runtime = jmode.handleRun(sketch, JavaEditor.this); + runtime = jmode.handleLaunch(sketch, JavaEditor.this, false); } catch (Exception e) { statusError(e); } @@ -1168,13 +1170,29 @@ public class JavaEditor extends Editor { public void handlePresent() { + new Thread(new Runnable() { + public void run() { + prepareRun(); + try { + toolbar.activateRun(); + //runtime = jmode.handlePresent(sketch, JavaEditor.this); + runtime = jmode.handleLaunch(sketch, JavaEditor.this, true); + } catch (Exception e) { + statusError(e); + } + } + }).start(); + } + + + public void handleTweak() { new Thread(new Runnable() { public void run() { prepareRun(); try { // toolbar.activate(JavaToolbar.RUN); toolbar.activateRun(); - runtime = jmode.handlePresent(sketch, JavaEditor.this); + runtime = jmode.handleTweak(sketch, JavaEditor.this); } catch (Exception e) { statusError(e); } @@ -1965,6 +1983,7 @@ public class JavaEditor extends Editor { autoSave(); super.prepareRun(); downloadImports(); + errorCheckerService.quickErrorCheck(); } diff --git a/java/src/processing/mode/java/JavaMode.java b/java/src/processing/mode/java/JavaMode.java index a88d2e24f..4f9500229 100644 --- a/java/src/processing/mode/java/JavaMode.java +++ b/java/src/processing/mode/java/JavaMode.java @@ -28,6 +28,8 @@ import java.io.FileReader; import java.io.IOException; import java.util.HashMap; import java.util.HashSet; +import java.util.Map; +import java.util.Set; import java.util.logging.FileHandler; import java.util.logging.Handler; import java.util.logging.Level; @@ -113,30 +115,32 @@ public class JavaMode extends Mode { // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + /* public Runner handleRun(Sketch sketch, RunnerListener listener) throws SketchException { - final JavaEditor editor = (JavaEditor)listener; + final JavaEditor editor = (JavaEditor) listener; editor.errorCheckerService.quickErrorCheck(); - if (enableTweak) { - enableTweak = false; - return handleTweak(sketch, listener, false); - } else { - return handleLaunch(sketch, listener, false); - } +// if (enableTweak) { +// enableTweak = false; +// return handleTweak(sketch, listener, false); +// } else { + return handleLaunch(sketch, listener, false); +// } } public Runner handlePresent(Sketch sketch, RunnerListener listener) throws SketchException { - final JavaEditor editor = (JavaEditor)listener; + final JavaEditor editor = (JavaEditor) listener; editor.errorCheckerService.quickErrorCheck(); - if (enableTweak) { - enableTweak = false; - return handleTweak(sketch, listener, true); - } else { - return handleLaunch(sketch, listener, true); - } +// if (enableTweak) { +// enableTweak = false; +// return handleTweak(sketch, listener, true); +// } else { + return handleLaunch(sketch, listener, true); +// } } + */ /** Handles the standard Java "Run" or "Present" */ @@ -165,9 +169,10 @@ public class JavaMode extends Mode { /** Start a sketch in tweak mode */ public Runner handleTweak(Sketch sketch, - RunnerListener listener, - final boolean present) throws SketchException { - final JavaEditor editor = (JavaEditor)listener; + RunnerListener listener) throws SketchException { +// final boolean present) throws SketchException { + final JavaEditor editor = (JavaEditor) listener; +// editor.errorCheckerService.quickErrorCheck(); // done in prepareRun() if (isSketchModified(sketch)) { editor.deactivateRun(); @@ -204,11 +209,11 @@ public class JavaMode extends Mode { new Thread(new Runnable() { public void run() { // these block until finished - if (present) { - runtime.present(null); - } else { - runtime.launch(null); - } +// if (present) { +// runtime.present(null); +// } else { + runtime.launch(null); +// } // next lines are executed when the sketch quits if (launchInteractive) { editor.initEditorCode(parser.allHandles, false); @@ -338,13 +343,13 @@ public class JavaMode extends Mode { static public final String prefImportSuggestEnabled = "pdex.importSuggestEnabled"; static public final String suggestionsFileName = "suggestions.txt"; - static volatile public boolean enableTweak = false; +// static volatile public boolean enableTweak = false; /** * Stores the white list/black list of allowed/blacklisted imports. These are defined in * suggestions.txt in java mode folder. */ - static public final HashMap> suggestionsMap = new HashMap<>(); + static public final Map> suggestionsMap = new HashMap<>(); public void loadPreferences() { Messages.log("Load PDEX prefs"); diff --git a/todo.txt b/todo.txt index e4d9e9281..1b50de885 100644 --- a/todo.txt +++ b/todo.txt @@ -11,14 +11,10 @@ X move Platform into its own class, also Messages and others X https://github.com/processing/processing/issues/2765 X Pass command line arguments to sketches X https://github.com/processing/processing/issues/2552 -_ JNA errors on startup when run from an account w/ non-ASCII characters -_ set jna.tmpdir (or java.io.tmpdir) to another location -_ https://github.com/twall/jna/issues/124 -_ https://github.com/twall/jna/issues/238 _ 'handleTweak' variable implemented strangely -_ ctrl+r not restarting sketch when debug is enabled -_ hitting Run while a sketch is running should restart the sketch -_ https://github.com/processing/processing/issues/3623 +X ctrl+r not restarting sketch when debug is enabled +X hitting Run while a sketch is running should restart the sketch +X https://github.com/processing/processing/issues/3623 api changes X Make fields and functions in PdeKeywords protected @@ -45,6 +41,9 @@ X https://github.com/processing/processing/pull/3607 X Deactivate install button when incompatible X https://github.com/processing/processing/issues/3603 X https://github.com/processing/processing/pull/3611 +X CM "Updates" badge appears even when there are no updates +X https://github.com/processing/processing/issues/3597 +X https://github.com/processing/processing/pull/3625 earlier X closing the color selector makes things freeze (only Linux and Windows?) @@ -70,9 +69,19 @@ _ but anything else reports "font sadness" b/c it's using the system JRE _ https://github.com/processing/processing/issues/3543 _ move to javapackager or another option? _ http://www.excelsiorjet.com/kb/35/howto-create-a-single-exe-from-your-java-application -_ P2D and P3D windows behave strangely when larger than the screen size -_ https://github.com/processing/processing/issues/3401 _ mouse events (i.e. toggle breakpoint) seem to be firing twice +_ JNA errors on startup when run from an account w/ non-ASCII characters +_ set jna.tmpdir (or java.io.tmpdir) to another location +_ https://github.com/twall/jna/issues/124 +_ https://github.com/twall/jna/issues/238 +_ Sun says they won't fix: user locale and system locale probably different: +_ https://bugs.openjdk.java.net/browse/JDK-8017274 +_ https://bugs.openjdk.java.net/browse/JDK-4958170 +_ https://github.com/twall/jna/blob/master/test/com/sun/jna/JNALoadTest.java +_ http://happygiraffe.net/blog/2009/09/24/java-platform-encoding/ +_ fix: get sun.jnu.encoding and make sure the user name is supported in it? +_ and if not, put up a warning for the user? +_ http://www.oracle.com/us/technologies/java/locale-140624.html 3.0 final @@ -139,8 +148,6 @@ _ https://github.com/processing/processing/issues/3619 pde/build -_ ctrl+r not restarting sketch when debug is enabled -_ https://github.com/processing/processing/issues/3623 _ ignore-tools in build.xml not being called for some reason _ can't install processing-java into /usr/bin with El Capitan _ https://github.com/processing/processing/issues/3497