[kaffe] CVS kaffe (dalibor): Fixes for Runescape
Kaffe CVS
cvs-commits at kaffe.org
Mon Oct 27 08:59:02 PST 2003
PatchSet 4128
Date: 2003/10/27 16:56:59
Author: dalibor
Branch: HEAD
Tag: (none)
Log:
Fixes for Runescape
Members:
ChangeLog:1.1720->1.1721
libraries/javalib/java/awt/ImageLoader.java:1.1->1.2
libraries/javalib/kaffe/applet/AppletTag.java:1.4->1.5
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1720 kaffe/ChangeLog:1.1721
--- kaffe/ChangeLog:1.1720 Mon Oct 27 15:44:18 2003
+++ kaffe/ChangeLog Mon Oct 27 16:56:59 2003
@@ -1,3 +1,17 @@
+2003-10-27 Ross Martin <hacker at ross.interwrx.com>
+
+ * libraries/javalib/java/awt/ImageLoader.java:
+ (imageComplete) Do not start a new ImageFrameLoader
+ for Image streams that an ImageFrameLoader can't
+ handle, but ImageLoader handles fine.
+
+ * libraries/javalib/kaffe/applet/AppletTag.java:
+ (parseParam) Treat ':' and '/' as normal alphabetic
+ characters. This is necessary to get it to treat
+ "http://xxx.yyy.zzz" as being a single token in its
+ parser, which is necessary for correct parsing of web
+ addresses.
+
2003-10-27 Dalibor Topic <robilad at kafe.org>
* libraries/javalib/java/util/jar/Attributes.java,
Index: kaffe/libraries/javalib/java/awt/ImageLoader.java
diff -u kaffe/libraries/javalib/java/awt/ImageLoader.java:1.1 kaffe/libraries/javalib/java/awt/ImageLoader.java:1.2
--- kaffe/libraries/javalib/java/awt/ImageLoader.java:1.1 Thu Feb 20 14:06:07 2003
+++ kaffe/libraries/javalib/java/awt/ImageLoader.java Mon Oct 27 16:57:01 2003
@@ -45,6 +45,9 @@
// give native layer a chance to do alpha channel reduction
if ( !(img.producer instanceof ImageNativeProducer) )
Toolkit.imgComplete( img.nativeData, status);
+ img.stateChange( s, 0, 0, img.width, img.height);
+ img.producer.removeConsumer( this);
+ img = null; // we are done with it, prevent memory leaks
}
else if ( status == SINGLEFRAMEDONE ) {
s = ImageObserver.FRAMEBITS;
@@ -52,20 +55,26 @@
// This is a (indefinite) movie production - move it out of the way (in its own thread)
// so that we can go on with useful work. Note that if our producer was a ImageNativeProducer,
// the whole external image has been read in already (no IO required, anymore)
- new ImageFrameLoader( img);
+
+ if ( img.producer instanceof ImageNativeProducer ) {
+ new ImageFrameLoader( img);
+ img.stateChange( s, 0, 0, img.width, img.height);
+ img.producer.removeConsumer( this);
+ img = null; // we are done with it, prevent memory leaks
+ }
+ else {
+ img.stateChange( s, 0, 0, img.width, img.height);
+ }
}
else {
if ( (status & IMAGEERROR) != 0 ) s |= ImageObserver.ERROR;
if ( (status & IMAGEABORTED) != 0 ) s |= ImageObserver.ABORT;
+ img.stateChange( s, 0, 0, img.width, img.height);
+ img.producer.removeConsumer( this);
+ img = null; // we are done with it, prevent memory leaks
}
- img.stateChange( s, 0, 0, img.width, img.height);
- // this has to be called *after* a optional ImageFrameLoader went into action, since
- // the producer might decide to stop if it doesn't have another consumer
- img.producer.removeConsumer( this);
-
- img = null; // we are done with it, prevent memory leaks
if ( this == asyncLoader )
notify(); // in case we had an async producer
}
Index: kaffe/libraries/javalib/kaffe/applet/AppletTag.java
diff -u kaffe/libraries/javalib/kaffe/applet/AppletTag.java:1.4 kaffe/libraries/javalib/kaffe/applet/AppletTag.java:1.5
--- kaffe/libraries/javalib/kaffe/applet/AppletTag.java:1.4 Sun Jul 20 13:40:05 2003
+++ kaffe/libraries/javalib/kaffe/applet/AppletTag.java Mon Oct 27 16:57:02 2003
@@ -260,7 +260,8 @@
int ttype;
st.lowerCaseMode( true);
- st.ordinaryChar('/');
+ st.wordChars('/', '/');
+ st.wordChars(':', ':');
while ( (ttype = st.nextToken()) != st.TT_EOF ) {
if ( ttype == '<' ) {
More information about the kaffe
mailing list