You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-commits@xmlgraphics.apache.org by de...@apache.org on 2008/07/16 13:28:40 UTC
svn commit: r677245 - in
/xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino:
RhinoInterpreter.java WindowWrapper.java
Author: deweese
Date: Wed Jul 16 04:28:39 2008
New Revision: 677245
URL: http://svn.apache.org/viewvc?rev=677245&view=rev
Log:
Fixed(?) NPE when using getURL in an applet context.
Modified:
xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/RhinoInterpreter.java
xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/WindowWrapper.java
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/RhinoInterpreter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/RhinoInterpreter.java?rev=677245&r1=677244&r2=677245&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/RhinoInterpreter.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/RhinoInterpreter.java Wed Jul 16 04:28:39 2008
@@ -221,6 +221,7 @@
* @see org.apache.batik.script.rhino.RhinoClassLoader
*/
public AccessControlContext getAccessControlContext() {
+ if (rhinoClassLoader == null) return null;
return rhinoClassLoader.getAccessControlContext();
}
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/WindowWrapper.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/WindowWrapper.java?rev=677245&r1=677244&r2=677245&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/WindowWrapper.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/script/rhino/WindowWrapper.java Wed Jul 16 04:28:39 2008
@@ -175,16 +175,24 @@
throw Context.reportRuntimeError("invalid argument count");
}
- AccessControlContext acc =
- ((RhinoInterpreter)window.getInterpreter()).getAccessControlContext();
+ RhinoInterpreter interp = (RhinoInterpreter)window.getInterpreter();
+ AccessControlContext acc = interp.getAccessControlContext();
- Object ret = AccessController.doPrivileged( new PrivilegedAction() {
+ PrivilegedAction pa = new PrivilegedAction() {
public Object run() {
return window.parseXML
((String)Context.jsToJava(args[0], String.class),
(Document)Context.jsToJava(args[1], Document.class));
}
- }, acc);
+ };
+
+ Object ret;
+ // If acc is null we are running in an Applet (or some other
+ // restrictive environment) so don't sweat security it's
+ // the "Browsers" problem...
+ if (acc != null) ret = AccessController.doPrivileged(pa , acc);
+ else ret = AccessController.doPrivileged(pa);
+
return Context.toObject(ret, thisObj);
}