From 2878d76b2a9774307da3dc7e261b9162aa714d54 Mon Sep 17 00:00:00 2001 From: fnasser Date: Fri, 16 Jan 2004 16:15:49 +0000 Subject: * java/awt/EventDispatchThread.java (run): Stop running when interrupted. * java/awt/EventQueue.java (pop): Stop dispatch thread when done. Reset the queue after transferring its contents. (push): Start a new dispatch thread if none is running. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75977 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/awt/EventDispatchThread.java | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libjava/java/awt/EventDispatchThread.java') diff --git a/libjava/java/awt/EventDispatchThread.java b/libjava/java/awt/EventDispatchThread.java index 6e0e875abb5..91145e1bb48 100644 --- a/libjava/java/awt/EventDispatchThread.java +++ b/libjava/java/awt/EventDispatchThread.java @@ -62,8 +62,18 @@ class EventDispatchThread extends Thread try { AWTEvent evt = queue.getNextEvent(); + if (isInterrupted ()) + { + // We are interrupted when we should finish executing + return; + } queue.dispatchEvent(evt); } + catch (InterruptedException ie) + { + // We are interrupted when we should finish executing + return; + } catch (Throwable x) { System.err.println("Exception during event dispatch:"); -- cgit v1.2.3