X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2FScheduler.java;fp=src%2Forg%2Fxwt%2FScheduler.java;h=55be6dfc3642658bb7ca98a7a7d209fe3b84ba05;hb=97daadb9ac5a453889da76c8c4c72f8f6badcba2;hp=5000287ca2654508c0b512dbcdcbf71b25569c63;hpb=ba12823b3146d9d228c7a4b1c02ae94de9e02781;p=org.ibex.core.git diff --git a/src/org/xwt/Scheduler.java b/src/org/xwt/Scheduler.java index 5000287..55be6df 100644 --- a/src/org/xwt/Scheduler.java +++ b/src/org/xwt/Scheduler.java @@ -23,6 +23,9 @@ public class Scheduler { public static void init() { if (singleton == null) (singleton = Platform.getScheduler()).run(); } + private static Task current = null; + public static Task current() { return current; } + // API which must be supported by subclasses ///////////////////////////////////// /** @@ -40,12 +43,20 @@ public class Scheduler { protected static Queue runnable = new Queue(50); public void defaultRun() { while(true) { - Task t = (Task)runnable.remove(true); + current = (Task)runnable.remove(true); try { - t.perform(); - // FEATURE: be smarter about this - //if (t != Surface.renderAll) add(Surface.renderAll); - Surface.renderAll.perform(); + for(int i=0; i