aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt/EventDispatchThread.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/awt/EventDispatchThread.java')
-rw-r--r--libjava/java/awt/EventDispatchThread.java11
1 files changed, 5 insertions, 6 deletions
diff --git a/libjava/java/awt/EventDispatchThread.java b/libjava/java/awt/EventDispatchThread.java
index 0803ff675c8..d55f0f5ea45 100644
--- a/libjava/java/awt/EventDispatchThread.java
+++ b/libjava/java/awt/EventDispatchThread.java
@@ -53,7 +53,6 @@ class EventDispatchThread extends Thread
setName("AWT-EventQueue-" + ++dispatchThreadNum);
this.queue = queue;
setPriority(NORM_PRIORITY + 1);
- start();
}
public void run()
@@ -63,11 +62,6 @@ class EventDispatchThread extends Thread
try
{
AWTEvent evt = queue.getNextEvent();
- if (isInterrupted ())
- {
- // We are interrupted when we should finish executing
- return;
- }
KeyboardFocusManager manager;
manager = KeyboardFocusManager.getCurrentKeyboardFocusManager ();
@@ -80,6 +74,11 @@ class EventDispatchThread extends Thread
if (!manager.dispatchEvent (evt))
queue.dispatchEvent(evt);
}
+ catch (ThreadDeath death)
+ {
+ // If someone wants to kill us, let them.
+ return;
+ }
catch (InterruptedException ie)
{
// We are interrupted when we should finish executing