[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cp-patches] FYI: Only prepare GtkImages in GtkToolkit
From: |
Mark Wielaard |
Subject: |
[cp-patches] FYI: Only prepare GtkImages in GtkToolkit |
Date: |
Sat, 30 Apr 2005 14:06:55 +0200 |
Hi,
Robert pointed out a regression that happened with almost any free swing
based application when using cairo with gnu.java.awt.peer.gtk.Graphics
set to Graphics2D. A cast to GtkImage made all calls to prepareImage
fail. This patch only prepares GtkImages and just assumes all other
images are already prepared.
2005-04-30 Mark Wielaard <address@hidden>
* gnu/java/awt/peer/gtk/GtkToolkit.java (prepareImage): Only prepare
GtkImages.
This makes things like JEdit start up again.
Committed,
Mark
Index: gnu/java/awt/peer/gtk/GtkToolkit.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java,v
retrieving revision 1.67
diff -u -r1.67 GtkToolkit.java
--- gnu/java/awt/peer/gtk/GtkToolkit.java 16 Feb 2005 13:59:03 -0000
1.67
+++ gnu/java/awt/peer/gtk/GtkToolkit.java 30 Apr 2005 11:55:45 -0000
@@ -403,32 +403,41 @@
return systemClipboard;
}
+ /**
+ * Prepares a GtkImage. For every other kind of Image it just
+ * assumes the image is already prepared for rendering.
+ */
public boolean prepareImage (Image image, int width, int height,
ImageObserver observer)
{
- GtkImage i = (GtkImage) image;
-
- if (i.isLoaded ()) return true;
-
- class PrepareImage extends Thread
- {
- GtkImage image;
- ImageObserver observer;
-
- PrepareImage (GtkImage image, ImageObserver observer)
+ if (image instanceof GtkImage)
{
- this.image = image;
- image.setObserver (observer);
- }
-
- public void run ()
- {
- image.source.startProduction (image);
+ GtkImage i = (GtkImage) image;
+
+ if (i.isLoaded ()) return true;
+
+ class PrepareImage extends Thread
+ {
+ GtkImage image;
+ ImageObserver observer;
+
+ PrepareImage (GtkImage image, ImageObserver observer)
+ {
+ this.image = image;
+ image.setObserver (observer);
+ }
+
+ public void run ()
+ {
+ image.source.startProduction (image);
+ }
+ }
+
+ new PrepareImage (i, observer).start ();
+ return false;
}
- }
-
- new PrepareImage (i, observer).start ();
- return false;
+ else
+ return true;
}
public native void sync();
signature.asc
Description: This is a digitally signed message part
- [cp-patches] FYI: Only prepare GtkImages in GtkToolkit,
Mark Wielaard <=