diff options
| author | fnasser <fnasser@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-19 18:22:29 +0000 |
|---|---|---|
| committer | fnasser <fnasser@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-19 18:22:29 +0000 |
| commit | 2691345f38819752562419e27c65e8cb6f5abdd7 (patch) | |
| tree | d91a518a1baa9883afe49a75862ee664baffe08d /libjava | |
| parent | d7fbb347f1bc8f04d523e83744a2ccd121fd5dec (diff) | |
| download | ppe42-gcc-2691345f38819752562419e27c65e8cb6f5abdd7.tar.gz ppe42-gcc-2691345f38819752562419e27c65e8cb6f5abdd7.zip | |
* java/awt/EventQueue.java (invokeAndWait): Use list-aware
isDispatchThread method to replace wrong test condition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76165 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
| -rw-r--r-- | libjava/ChangeLog | 5 | ||||
| -rw-r--r-- | libjava/java/awt/EventQueue.java | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 2b34a94f9e1..3c779ddbdcb 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,10 @@ 2004-01-19 Fernando Nasser <fnasser@redhat.com> + * java/awt/EventQueue.java (invokeAndWait): Use list-aware + isDispatchThread method to replace wrong test condition. + +2004-01-19 Fernando Nasser <fnasser@redhat.com> + * java/awt/EventQueue.java (pop): Prevent racing condition to add events to the queue out of order by acquiring locks in the proper order and not by releasing one before acquiring the other. 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); |

