Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrant Gayed2012-10-19 17:46:46 +0000
committerGrant Gayed2012-10-19 18:39:38 +0000
commita6f0db2df13fb9cdf5f4e3ffd3e93173c6f60e0a (patch)
treee570dd69402d71710c5efaf95195382b143895d3
parentf6ca145e8cdfa295ef40087a7c908b7c6143b8df (diff)
downloadeclipse.platform.swt-a6f0db2df13fb9cdf5f4e3ffd3e93173c6f60e0a.tar.gz
eclipse.platform.swt-a6f0db2df13fb9cdf5f4e3ffd3e93173c6f60e0a.tar.xz
eclipse.platform.swt-a6f0db2df13fb9cdf5f4e3ffd3e93173c6f60e0a.zip
Bug 392229 - [Browser] JS_EvaluateUCScriptForPrincipals crash withv3835b
XULRunner 10 (IBM JRE only)
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java
index 07aed67ee9..fd9f0135a7 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java
@@ -1289,6 +1289,7 @@ public boolean execute (String script) {
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+ boolean isXULRunner190x = false;
nsIServiceManager serviceManager = new nsIServiceManager (result[0]);
result[0] = 0;
byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_SCRIPTSECURITYMANAGER_CONTRACTID, true);
@@ -1299,6 +1300,9 @@ public boolean execute (String script) {
if (!(rc == XPCOM.NS_OK && result[0] != 0)) {
result[0] = 0;
rc = serviceManager.GetServiceByContractID (aContractID, nsIScriptSecurityManager.NS_ISCRIPTSECURITYMANAGER_IID, result);
+ if (rc == XPCOM.NS_OK && result[0] != 0) {
+ isXULRunner190x = true;
+ }
}
}
@@ -1384,7 +1388,7 @@ public boolean execute (String script) {
if (rc != XPCOM.NS_OK) {
stack.Release ();
} else {
- boolean success = XPCOM.JS_EvaluateUCScriptForPrincipals (jsLibPath, nativeContext, globalJSObject, principals, scriptChars, length, urlbytes, 0, result) != 0;
+ boolean success = XPCOM.JS_EvaluateUCScriptForPrincipals (jsLibPath, nativeContext, globalJSObject, principals, scriptChars, length, urlbytes, 0, isXULRunner190x ? result : null) != 0;
result[0] = 0;
rc = stack.Pop (result);
stack.Release ();

Back to the top