diff options
author | Grant Gayed <ggayed> | 2009-12-15 17:47:57 +0000 |
---|---|---|
committer | Grant Gayed <ggayed> | 2009-12-15 17:47:57 +0000 |
commit | 19429dc8655bc37bdb9d6cb867eb3fe61e73b0c4 (patch) | |
tree | 6e060dfd63c03c4c8ac1e443654e41ee6f9b55f2 | |
parent | f6941655058e0de40bfa17eede373c991ed544ee (diff) | |
download | eclipse.platform.swt-19429dc8655bc37bdb9d6cb867eb3fe61e73b0c4.tar.gz eclipse.platform.swt-19429dc8655bc37bdb9d6cb867eb3fe61e73b0c4.tar.xz eclipse.platform.swt-19429dc8655bc37bdb9d6cb867eb3fe61e73b0c4.zip |
287458 - SWT crashes JVM when disposing of browser using XULRunner >=1.9.1
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT Mozilla/common/org/eclipse/swt/browser/Mozilla.java | 19 |
1 files changed, 6 insertions, 13 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 613b3a1203..f8a0fd5ff0 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 @@ -1234,7 +1234,7 @@ public void create (Composite parent, int style) { nsIPrefService prefService = new nsIPrefService (result[0]); result[0] = 0; - rc = prefService.SavePrefFile(prefFile.getAddress ()); + rc = prefService.SavePrefFile (prefFile.getAddress ()); prefService.Release (); prefFile.Release (); } @@ -1242,19 +1242,11 @@ public void create (Composite parent, int style) { if (XPCOMWasGlued) { /* - * XULRunner 1.9 can crash on Windows if XPCOMGlueShutdown is invoked here, - * presumably because one or more of its unloaded symbols are referenced when - * this callback returns. The workaround is to delay invoking XPCOMGlueShutdown - * so that its symbols are still available once this callback returns. + * The following is intentionally commented because it causes subsequent + * browser instantiations within the process to fail. Mozilla does not + * support being unloaded and then re-initialized in a process, see + * http://www.mail-archive.com/dev-embedding@lists.mozilla.org/msg01732.html . */ - display.asyncExec (new Runnable () { - public void run () { - XPCOM.XPCOMGlueShutdown (); - } - }); - - // the following is intentionally commented, because calling XRE_TermEmbedding - // causes subsequent browser instantiations within the process to fail // int size = XPCOM.nsDynamicFunctionLoad_sizeof (); // /* alloc memory for two structs, the second is empty to signify the end of the list */ @@ -1276,6 +1268,7 @@ public void create (Composite parent, int style) { // C.free (ptr); // XPCOM.Call (functionPtr); +// XPCOM.XPCOMGlueShutdown (); XPCOMWasGlued = false; } if (XPCOMInitWasGlued) { |