diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 2b34a94f9e1..3c779ddbdcb 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2004-01-19 Fernando Nasser + + * java/awt/EventQueue.java (invokeAndWait): Use list-aware + isDispatchThread method to replace wrong test condition. + 2004-01-19 Fernando Nasser * java/awt/EventQueue.java (pop): Prevent racing condition to add diff --git a/libjava/java/awt/EventQueue.java b/libjava/java/awt/EventQueue.java index 7df40edee38..5cdfa634265 100644 --- a/libjava/java/awt/EventQueue.java +++ b/libjava/java/awt/EventQueue.java @@ -231,10 +231,11 @@ public class EventQueue public static void invokeAndWait(Runnable runnable) throws InterruptedException, InvocationTargetException { + if (isDispatchThread ()) + throw new Error("Can't call invokeAndWait from event dispatch thread"); + EventQueue eq = Toolkit.getDefaultToolkit().getSystemEventQueue(); Thread current = Thread.currentThread(); - if (current == eq.dispatchThread) - throw new Error("Can't call invokeAndWait from event dispatch thread"); InvocationEvent ie = new InvocationEvent(eq, runnable, current, true);