mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
quicker error check before sketch run
This commit is contained in:
@@ -308,6 +308,12 @@ public class ErrorCheckerService implements Runnable{
|
||||
* last runManualErrorCheck() call.
|
||||
*/
|
||||
private final static long errorCheckInterval = 500;
|
||||
|
||||
/**
|
||||
* Bypass sleep time
|
||||
*/
|
||||
|
||||
private volatile boolean noSleep = false;
|
||||
|
||||
/**
|
||||
* The way the error checking happens is: DocumentListeners are added
|
||||
@@ -334,7 +340,13 @@ public class ErrorCheckerService implements Runnable{
|
||||
while (!stopThread.get()) {
|
||||
try {
|
||||
// Take a nap.
|
||||
Thread.sleep(sleepTime);
|
||||
if(!noSleep) {
|
||||
Thread.sleep(sleepTime);
|
||||
}
|
||||
else {
|
||||
noSleep = false;
|
||||
log("Didn't sleep!");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log("Oops! [ErrorCheckerThreaded]: " + e);
|
||||
// e.printStackTrace();
|
||||
@@ -426,6 +438,12 @@ public class ErrorCheckerService implements Runnable{
|
||||
lastErrorCheckCall = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
public void quickErrorCheck() {
|
||||
//TODO: Experimental, lookout for threading related issues
|
||||
noSleep = true;
|
||||
log("quickErrorCheck()");
|
||||
}
|
||||
|
||||
protected SketchChangedListener sketchChangedListener;
|
||||
protected class SketchChangedListener implements DocumentListener{
|
||||
|
||||
|
||||
@@ -335,6 +335,8 @@ public class ExperimentalMode extends JavaMode {
|
||||
@Override
|
||||
public Runner handleRun(Sketch sketch, RunnerListener listener) throws SketchException
|
||||
{
|
||||
final DebugEditor editor = (DebugEditor)listener;
|
||||
editor.errorCheckerService.quickErrorCheck();
|
||||
if (enableTweak) {
|
||||
enableTweak = false;
|
||||
return handleTweakPresentOrRun(sketch, listener, false);
|
||||
@@ -359,6 +361,8 @@ public class ExperimentalMode extends JavaMode {
|
||||
@Override
|
||||
public Runner handlePresent(Sketch sketch, RunnerListener listener) throws SketchException
|
||||
{
|
||||
final DebugEditor editor = (DebugEditor)listener;
|
||||
editor.errorCheckerService.quickErrorCheck();
|
||||
if (enableTweak) {
|
||||
enableTweak = false;
|
||||
return handleTweakPresentOrRun(sketch, listener, true);
|
||||
|
||||
Reference in New Issue
Block a user