diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | java/awt/image/PixelGrabber.java | 31 |
2 files changed, 14 insertions, 23 deletions
@@ -1,3 +1,9 @@ +2002-01-25 Bryce McKinlay <bryce@waitaki.otago.ac.nz> + + * java/awt/image/PixelGrabber.java (grabPixels()): Call grabPixels(0). + (grabPixels(long)): Wait to be notified that the ImageProducer has + completed. + 2002-01-23 Tom Tromey <tromey@redhat.com> * java/awt/BorderLayout.java (addLayoutComponent): Added missing diff --git a/java/awt/image/PixelGrabber.java b/java/awt/image/PixelGrabber.java index efa98856c..65e831e98 100644 --- a/java/awt/image/PixelGrabber.java +++ b/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; - } /** |