* java/awt/EventQueue.java (isDispatchThread): Do check on top of stack. (push): Make sure push is performed at the top of the thread stack.
From-SVN: r75820
This commit is contained in:
parent
d4f3ce5cc0
commit
25c3f7c8b9
2 changed files with 22 additions and 3 deletions
|
@ -269,12 +269,17 @@ public class EventQueue
|
|||
}
|
||||
|
||||
/**
|
||||
* Return true if the current thread is the AWT event dispatch
|
||||
* Return true if the current thread is the current AWT event dispatch
|
||||
* thread.
|
||||
*/
|
||||
public static boolean isDispatchThread()
|
||||
{
|
||||
EventQueue eq = Toolkit.getDefaultToolkit().getSystemEventQueue();
|
||||
EventQueue eq = Toolkit.getDefaultToolkit().getSystemEventQueue();
|
||||
|
||||
/* Find last EventQueue in chain */
|
||||
while (eq.next != null)
|
||||
eq = eq.next;
|
||||
|
||||
return (Thread.currentThread() == eq.dispatchThread);
|
||||
}
|
||||
|
||||
|
@ -306,6 +311,15 @@ public class EventQueue
|
|||
if (newEventQueue == null)
|
||||
throw new NullPointerException ();
|
||||
|
||||
/* Make sure we are at the top of the stack because callers can
|
||||
only get a reference to the one at the bottom using
|
||||
Toolkit.getDefaultToolkit().getSystemEventQueue() */
|
||||
if (next != null)
|
||||
{
|
||||
next.push (newEventQueue);
|
||||
return;
|
||||
}
|
||||
|
||||
int i = next_out;
|
||||
while (i != next_in)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue