diff options
Diffstat (limited to 'libjava/java/awt/EventDispatchThread.java')
-rw-r--r-- | libjava/java/awt/EventDispatchThread.java | 12 |
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) { |