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.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/libjava/java/awt/EventDispatchThread.java b/libjava/java/awt/EventDispatchThread.java
index 91145e1..89b6095 100644
--- a/libjava/java/awt/EventDispatchThread.java
+++ b/libjava/java/awt/EventDispatchThread.java
@@ -67,7 +67,17 @@ class EventDispatchThread extends Thread
// We are interrupted when we should finish executing
return;
}
- queue.dispatchEvent(evt);
+
+ KeyboardFocusManager manager;
+ manager = KeyboardFocusManager.getCurrentKeyboardFocusManager ();
+
+ // Try to dispatch this event to the current keyboard focus
+ // manager. It will dispatch all FocusEvents, all
+ // WindowEvents related to focus, and all KeyEvents,
+ // returning true. Otherwise, it returns false and we
+ // dispatch the event normally.
+ if (!manager.dispatchEvent (evt))
+ queue.dispatchEvent(evt);
}
catch (InterruptedException ie)
{