aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt
diff options
context:
space:
mode:
authorThomas Fitzsimmons <fitzsim@redhat.com>2005-02-22 06:18:59 +0000
committerThomas Fitzsimmons <fitzsim@gcc.gnu.org>2005-02-22 06:18:59 +0000
commitd5d74adf8ac65309646e45e6f1c35ed0334a55df (patch)
treefd9a1d57ef0371391772820cac8168d93affa1b2 /libjava/java/awt
parentd5c9fbd953debfa9265a1b03dec02aad2c013e14 (diff)
downloadgcc-d5d74adf8ac65309646e45e6f1c35ed0334a55df.zip
gcc-d5d74adf8ac65309646e45e6f1c35ed0334a55df.tar.gz
gcc-d5d74adf8ac65309646e45e6f1c35ed0334a55df.tar.bz2
Robot.java (waitForIdle): Call invokeAndWait on an empty Runnable.
2005-02-22 Thomas Fitzsimmons <fitzsim@redhat.com> * java/awt/Robot.java (waitForIdle): Call invokeAndWait on an empty Runnable. From-SVN: r95384
Diffstat (limited to 'libjava/java/awt')
-rw-r--r--libjava/java/awt/Robot.java28
1 files changed, 15 insertions, 13 deletions
diff --git a/libjava/java/awt/Robot.java b/libjava/java/awt/Robot.java
index 49726c8..23b6f81 100644
--- a/libjava/java/awt/Robot.java
+++ b/libjava/java/awt/Robot.java
@@ -40,6 +40,7 @@ package java.awt;
import gnu.java.awt.ClasspathToolkit;
+import java.lang.reflect.InvocationTargetException;
import java.awt.event.InputEvent;
import java.awt.image.BufferedImage;
import java.awt.peer.RobotPeer;
@@ -53,8 +54,8 @@ import java.awt.peer.RobotPeer;
*
* Since Robot generates native windowing system events, rather than
* simply inserting {@link AWTEvents} on the AWT event queue, its use
- * is not restricted to Java programs. It can be to programatically
- * drive any graphical application.
+ * is not restricted to Java programs. It can be used to
+ * programatically drive any graphical application.
*
* This implementation requires an X server that supports the XTest
* extension.
@@ -384,7 +385,8 @@ public class Robot
}
/**
- * Wait until the event dispatch thread is idle.
+ * Wait until all events currently on the event queue have been
+ * dispatched.
*/
public void waitForIdle ()
{
@@ -393,17 +395,17 @@ public class Robot
+ "the event dispatch thread");
EventQueue q = Toolkit.getDefaultToolkit ().getSystemEventQueue ();
-
- while (q.peekEvent () != null)
+ try
+ {
+ q.invokeAndWait (new Runnable () { public void run () { } });
+ }
+ catch (InterruptedException e)
+ {
+ System.err.println ("Robot: waitForIdle interrupted");
+ }
+ catch (InvocationTargetException e)
{
- try
- {
- wait ();
- }
- catch (InterruptedException e)
- {
- System.err.println ("Robot: waitForIdle interrupted");
- }
+ System.err.println ("Robot: waitForIdle cannot invoke target");
}
}