summaryrefslogtreecommitdiffstats
path: root/libjava/java/awt/EventQueue.java
diff options
context:
space:
mode:
authorfnasser <fnasser@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-19 14:51:54 +0000
committerfnasser <fnasser@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-19 14:51:54 +0000
commit599b97d3b8f1c4cc92af7a02103b92350186f376 (patch)
treee514a22de9731c68a1c39c2866ac7fad141dc165 /libjava/java/awt/EventQueue.java
parentfea51eac929c4bc60b4e75a13ca674deec587952 (diff)
downloadppe42-gcc-599b97d3b8f1c4cc92af7a02103b92350186f376.tar.gz
ppe42-gcc-599b97d3b8f1c4cc92af7a02103b92350186f376.zip
* java/awt/EventQueue.java (getCurrentEvent): Consider that system
events may be handled by any queue in the stack. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76150 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/awt/EventQueue.java')
-rw-r--r--libjava/java/awt/EventQueue.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/libjava/java/awt/EventQueue.java b/libjava/java/awt/EventQueue.java
index 41dad066989..4cb0703ec62 100644
--- a/libjava/java/awt/EventQueue.java
+++ b/libjava/java/awt/EventQueue.java
@@ -293,8 +293,18 @@ public class EventQueue
public static AWTEvent getCurrentEvent()
{
EventQueue eq = Toolkit.getDefaultToolkit().getSystemEventQueue();
- if (Thread.currentThread() != eq.dispatchThread)
- return null;
+ Thread ct = Thread.currentThread();
+
+ /* Find out if this thread is the dispatch thread for any of the
+ EventQueues in the chain */
+ while (ct != eq.dispatchThread)
+ {
+ // Try next EventQueue, if any
+ if (eq.next == null)
+ return null; // Not an event dispatch thread
+ eq = eq.next;
+ }
+
return eq.currentEvent;
}
OpenPOWER on IntegriCloud