X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FScheduler.java;fp=src%2Forg%2Fxwt%2FScheduler.java;h=9e939a3d87f7a55c77971268342d403004b4278e;hb=16ad8b9430571d806f2aeb18ec472a277ff69423;hp=8cbbb35c9e564994f3e506d818b3750a872ed432;hpb=220fdfe36b610a003eb9163949a8b2c78b6530fa;p=org.ibex.core.git diff --git a/src/org/xwt/Scheduler.java b/src/org/xwt/Scheduler.java index 8cbbb35..9e939a3 100644 --- a/src/org/xwt/Scheduler.java +++ b/src/org/xwt/Scheduler.java @@ -12,24 +12,22 @@ public class Scheduler { private static Scheduler singleton; public static interface Task { public abstract void perform() throws Exception; } - - /** adds a task to the back of the queue */ public static void add(Task t) { singleton.runnable.append(t); } - public static void init() { if (singleton == null) (singleton = Platform.getScheduler()).run(); } - private static Task currentTask = null; - public static Task current() { return currentTask; } + private static Task current = null; - /** synchronizd so that we can safely call it from an event-delivery thread, in-context */ private static volatile boolean rendering = false; private static volatile boolean again = false; + + /** synchronizd so that we can safely call it from an event-delivery thread, in-context */ public static void renderAll() { if (rendering) { again = true; return; } synchronized(Scheduler.class) { try { rendering = true; do { + // FEATURE: this could be cleaner again = false; for(int i=0; i