summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--java/awt/image/PixelGrabber.java31
2 files changed, 14 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog
index c1ad2c88f..4300fae64 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
-
}
/**