[cp-patches] FYI: GtkImage Error handling (2)

2005-07-11 Thread Sven de Marothy
Previous patch is wrong. This one is right.

2005-07-11  Sven de Marothy  [EMAIL PROTECTED]

* gnu/java/awt/peer/gtk/GtkImage.java:
(setImage): Set error flag on bad width, height or pixels.
(checkImage): Return error flag.


-- 
Sven de Marothy [EMAIL PROTECTED]
Index: 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 -	1.19
+++ gnu/java/awt/peer/gtk/GtkImage.java	11 Jul 2005 21:05:28 -
@@ -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)
+  {
+	errorLoading = 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;
   }
___
Classpath-patches mailing list
Classpath-patches@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-patches


[cp-patches] FYI GtkImage error handling

2005-07-11 Thread Sven de Marothy
2005-07-11  Sven de Marothy  [EMAIL PROTECTED]

* gnu/java/awt/peer/gtk/GtkImage.java:
(setImage): Set error flag on bad width, height or pixels.
(checkImage): Return error flag.


-- 
Sven de Marothy [EMAIL PROTECTED]
Index: 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 -	1.19
+++ gnu/java/awt/peer/gtk/GtkImage.java	11 Jul 2005 21:05:28 -
@@ -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;
   }
___
Classpath-patches mailing list
Classpath-patches@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-patches