* Wake the sleeping active event handler.
*/
private void wakeEventHandler() {
+ if (!started) {
+ return;
+ }
+
if (secondaryEventHandler != null) {
synchronized (secondaryEventHandler) {
secondaryEventHandler.notify();
*/
private List<TTimer> timers;
+ /**
+ * When true, the application has been started.
+ */
+ private volatile boolean started = false;
+
/**
* When true, exit the application.
*/
primaryEventHandler = new WidgetEventHandler(this, true);
(new Thread(primaryEventHandler)).start();
+ started = true;
+
while (!quit) {
synchronized (this) {
boolean doWait = false;
}
}
+ /**
+ * Post an event to process.
+ *
+ * @param event new event to add to the queue
+ */
+ public final void postEvent(final TInputEvent event) {
+ synchronized (this) {
+ synchronized (fillEventQueue) {
+ fillEventQueue.add(event);
+ }
+ if (debugThreads) {
+ System.err.println(System.currentTimeMillis() + " " +
+ Thread.currentThread() + " postEvent() wake up main");
+ }
+ this.notify();
+ }
+ }
+
/**
* Post an event to process and turn off the menu.
*