From 8f37ebcb189cc3955e814df55ea66896dabb834c Mon Sep 17 00:00:00 2001 From: Jakub Valtar Date: Sat, 17 Nov 2018 15:11:06 +0100 Subject: [PATCH] Fix freeze when restarting sketch with variables in size While sketch is running, rewriting sketch size to variables and trying to restart the sketch by pressing the play button causes PDE to freeze. Fixed by moving AWT call to EDT. --- java/src/processing/mode/java/preproc/PdePreprocessor.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java/src/processing/mode/java/preproc/PdePreprocessor.java b/java/src/processing/mode/java/preproc/PdePreprocessor.java index 432f5c4d4..1b38e1431 100644 --- a/java/src/processing/mode/java/preproc/PdePreprocessor.java +++ b/java/src/processing/mode/java/preproc/PdePreprocessor.java @@ -27,6 +27,7 @@ package processing.mode.java.preproc; +import java.awt.*; import java.io.*; import java.util.*; import java.util.regex.MatchResult; @@ -380,7 +381,9 @@ public class PdePreprocessor { "The size of this sketch could not be determined from your code.\n" + "Use only numbers (not variables) for the size() command.\n" + "Read the size() reference for more details."; - Messages.showWarning("Could not find sketch size", message, null); + EventQueue.invokeLater(() -> { + Messages.showWarning("Could not find sketch size", message, null); + }); // new Exception().printStackTrace(System.out); // return null; throw new SketchException("Please fix the size() line to continue.", false);