diff options
Diffstat (limited to 'libjava/java/awt')
-rw-r--r-- | libjava/java/awt/image/PixelGrabber.java | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/libjava/java/awt/image/PixelGrabber.java b/libjava/java/awt/image/PixelGrabber.java index efa9885..65e831e 100644 --- a/libjava/java/awt/image/PixelGrabber.java +++ b/libjava/java/awt/image/PixelGrabber.java @@ -155,15 +155,7 @@ public class PixelGrabber implements ImageConsumer */ public boolean grabPixels() throws InterruptedException { - startGrabbing(); - while ( (status != ImageObserver.ALLBITS ) || - (status != ImageObserver.ERROR ) || - (status != ImageObserver.ABORT ) ); - - if( status == ImageObserver.ALLBITS ) - return true; - else - return false; + return grabPixels(0); } /** @@ -176,24 +168,17 @@ public class PixelGrabber implements ImageConsumer */ public synchronized boolean grabPixels(long ms) throws InterruptedException { - long start = System.currentTimeMillis(); startGrabbing(); - while ( (status != ImageObserver.ALLBITS ) || - (status != ImageObserver.ERROR ) || - (status != ImageObserver.ABORT ) ) - { - if( (System.currentTimeMillis() - start ) >= ms ) - { - abortGrabbing(); - throw new InterruptedException(); - } - } - - if( status == ImageObserver.ALLBITS ) + + if (ms < 0) + return (status == ImageObserver.ALLBITS); + + wait(ms); + + if (status == ImageObserver.ALLBITS) return true; else return false; - } /** |