Index: src/gnu/gcjwebplugin/AppletTag.java =================================================================== RCS file: /sources/gcjwebplugin/gcjwebplugin/src/gnu/gcjwebplugin/AppletTag.java,v retrieving revision 1.24 diff -u -r1.24 AppletTag.java --- src/gnu/gcjwebplugin/AppletTag.java 11 Apr 2006 18:21:37 -0000 1.24 +++ src/gnu/gcjwebplugin/AppletTag.java 11 Apr 2006 19:47:09 -0000 @@ -98,7 +98,7 @@ /** * The archives. */ - static ArrayList archives = new ArrayList(); + ArrayList archives = new ArrayList(); /** * The parameters. @@ -124,7 +124,7 @@ AppletTag(String code, String archives, List parameters, Dimension dims) { this.code = code; - parseArchives(archives); + this.archives = parseArchives(archives); int size = parameters.size(); if (size != 0) @@ -234,6 +234,7 @@ // and "code" attributes are present in the EMBED tag then the // "code" attribute is interpreted as a parameter. + name = embElement.getName(); parameters.put("name", name); @@ -246,17 +247,19 @@ if (code.equals("")) code = embElement.getJavaCode(); parameters.put("code", code); - - archives = parseArchives(embElement.getArchive()); - if (archives.equals("")) - archives = parseArchives(embElement.getJavaArchive()); - parameters.put("archive", archives); - + + // Must initialize codebase before archives codebase = embElement.getCodeBase(); if (codebase.equals("")) codebase = embElement.getJavaCodeBase(); - parameters.put("codebase", codebase); + + String arch = embElement.getArchive(); + if (arch.equals("")) + archives = parseArchives(embElement.getJavaArchive()); + else + archives = parseArchives(arch); + parameters.put("archive", archives); parameters.put("width", embElement.getWidth()); parameters.put("height", embElement.getHeight()); parameters.put("align", embElement.getAlign()); @@ -296,17 +299,20 @@ if (object.equals("")) object = objElement.getJavaObject(); parameters.put("object", object); - - archives = parseArchives(objElement.getArchive()); - if (archives.equals("")) - archives = parseArchives(objElement.getJavaArchive()); - parameters.put("archive", archives); - + + // Must initialize codebase before archives codebase = objElement.getCodeBase(); if (codebase.equals("")) codebase = objElement.getJavaCodeBase(); parameters.put("codebase", codebase); + String arch = objElement.getArchive(); + if (arch.equals("")) + archives = parseArchives(objElement.getJavaArchive()); + else + archives = parseArchives(arch); + parameters.put("archive", archives); + parameters.put("type", objElement.getType()); parameters.put("java_type", objElement.getJavaType()); parameters.put("align", objElement.getAlign()); @@ -333,15 +339,16 @@ object = appElement.getObject(); parameters.put("object", object); - archives = parseArchives(appElement.getArchive()); - parameters.put("archive", archives); - code = appElement.getCode(); parameters.put("code", code); + // Must initialize codebase before archives codebase = appElement.getCodeBase(); parameters.put("codebase", codebase); + archives = parseArchives(appElement.getArchive()); + parameters.put("archive", archives); + parameters.put("align", appElement.getAlign()); parameters.put("alt", appElement.getAlt()); parameters.put("height", appElement.getHeight()); @@ -574,6 +581,7 @@ tmpDocumentBase = new URL("file", "", path); } + return tmpDocumentBase; } } \ No newline at end of file