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
This commit is contained in:
parent
d5c9fbd953
commit
d5d74adf8a
2 changed files with 18 additions and 13 deletions
|
@ -1,5 +1,8 @@
|
||||||
2005-02-22 Thomas Fitzsimmons <fitzsim@redhat.com>
|
2005-02-22 Thomas Fitzsimmons <fitzsim@redhat.com>
|
||||||
|
|
||||||
|
* java/awt/Robot.java (waitForIdle): Call invokeAndWait on an
|
||||||
|
empty Runnable.
|
||||||
|
|
||||||
PR libgcj/17952:
|
PR libgcj/17952:
|
||||||
* gnu/java/awt/peer/gtk/GtkWindowPeer.java,
|
* gnu/java/awt/peer/gtk/GtkWindowPeer.java,
|
||||||
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
|
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
|
||||||
|
|
|
@ -40,6 +40,7 @@ package java.awt;
|
||||||
|
|
||||||
import gnu.java.awt.ClasspathToolkit;
|
import gnu.java.awt.ClasspathToolkit;
|
||||||
|
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.awt.event.InputEvent;
|
import java.awt.event.InputEvent;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.awt.peer.RobotPeer;
|
import java.awt.peer.RobotPeer;
|
||||||
|
@ -53,8 +54,8 @@ import java.awt.peer.RobotPeer;
|
||||||
*
|
*
|
||||||
* Since Robot generates native windowing system events, rather than
|
* Since Robot generates native windowing system events, rather than
|
||||||
* simply inserting {@link AWTEvents} on the AWT event queue, its use
|
* simply inserting {@link AWTEvents} on the AWT event queue, its use
|
||||||
* is not restricted to Java programs. It can be to programatically
|
* is not restricted to Java programs. It can be used to
|
||||||
* drive any graphical application.
|
* programatically drive any graphical application.
|
||||||
*
|
*
|
||||||
* This implementation requires an X server that supports the XTest
|
* This implementation requires an X server that supports the XTest
|
||||||
* extension.
|
* 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 ()
|
public void waitForIdle ()
|
||||||
{
|
{
|
||||||
|
@ -393,17 +395,17 @@ public class Robot
|
||||||
+ "the event dispatch thread");
|
+ "the event dispatch thread");
|
||||||
|
|
||||||
EventQueue q = Toolkit.getDefaultToolkit ().getSystemEventQueue ();
|
EventQueue q = Toolkit.getDefaultToolkit ().getSystemEventQueue ();
|
||||||
|
try
|
||||||
while (q.peekEvent () != null)
|
|
||||||
{
|
{
|
||||||
try
|
q.invokeAndWait (new Runnable () { public void run () { } });
|
||||||
{
|
}
|
||||||
wait ();
|
catch (InterruptedException e)
|
||||||
}
|
{
|
||||||
catch (InterruptedException e)
|
System.err.println ("Robot: waitForIdle interrupted");
|
||||||
{
|
}
|
||||||
System.err.println ("Robot: waitForIdle interrupted");
|
catch (InvocationTargetException e)
|
||||||
}
|
{
|
||||||
|
System.err.println ("Robot: waitForIdle cannot invoke target");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue