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 <[EMAIL PROTECTED]>
+
+       * 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 <[EMAIL PROTECTED]>
 
        * 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 == '<' ) {

_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to