--- ImageLoader.java.orig 2003-10-15 16:08:40.000000000 +0200 +++ ImageLoader.java 2004-08-25 17:24:28.000000000 +0200 @@ -25,13 +25,18 @@ String name; byte[] bytes; Class c; - ClassLoader parent; + ClassLoader[] parent; private ImageLoader(String name, byte[] bytes) { this.name=name; this.bytes=bytes; this.c=null; - this.parent=this.getClass().getClassLoader(); + //this.parent=this.getClass().getClassLoader(); + this.parent = new ClassLoader[3]; + this.parent[0] = Thread.currentThread().getContextClassLoader(); + this.parent[1] = this.getClass().getClassLoader(); + this.parent[2] = ClassLoader.getSystemClassLoader(); + //System.err.println("context: " + parent[0] + "; self: " + parent[1] + "; sys: " + parent[2]); }; @@ -126,9 +131,19 @@ protected synchronized Class loadClass(String name, boolean resolve) throws java.lang.ClassNotFoundException { if (!name.equals(this.name)) { - if (parent!=null) - return parent.loadClass(name); - else + if (parent!=null) { + Class cls = null; + for (int i=0; i