rendered paste bodyIndex: gnu/java/awt/peer/gtk/GtkImage.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkImage.java,v
retrieving revision 1.19
diff -U3 -r1.19 GtkImage.java
--- gnu/java/awt/peer/gtk/GtkImage.java 2 Jul 2005 20:32:12 -0000 1.19
+++ gnu/java/awt/peer/gtk/GtkImage.java 11 Jul 2005 21:05:28 -0000
@@ -100,6 +100,11 @@
boolean offScreen;
/**
+ * Error flag for loading.
+ */
+ boolean errorLoading;
+
+ /**
* Original source, if created from an ImageProducer.
*/
ImageProducer source;
@@ -176,6 +181,7 @@
isLoaded = false;
observers = new Vector();
source = producer;
+ errorLoading = false;
source.startProduction(new GtkImageConsumer(this, source));
offScreen = false;
}
@@ -243,6 +249,13 @@
this.width = width;
this.height = height;
props = (properties != null) ? properties : new Hashtable();
+
+ if (width <= 0 || height <= 0 || pixels == null)
+ {
+ isError = true;
+ return;
+ }
+
isLoaded = true;
deliver();
createPixmap();
@@ -346,7 +359,12 @@
public int checkImage (ImageObserver observer)
{
if (addObserver(observer))
- return 0;
+ {
+ if (errorLoading == true)
+ return ImageObserver.ERROR;
+ else
+ return 0;
+ }
return ImageObserver.ALLBITS | ImageObserver.WIDTH | ImageObserver.HEIGHT;
}