Dear All,
I ported a rather large xulrunner 1.9.2 based application to xulrunner 17.0.1.
So far, most of all functionality still works.
I use both JS and C++ xpcoms, initiated via JS and defined within
chrome.manifest. I can use those xpcoms, no issues at all.
However, on shutdown, the thing breaks badly. I can see from debugging, that
non of the destructors within the C++ xpcoms get called. I get a free()
corruption somewhere "near" one xpcom and "near" xpcomglue - if I can trust the
stack trace from VS2010.
For shutdown, I use:
function closeImmediate() {
var appStartup = Components.classes['@mozilla.org/toolkit/app-startup;1'].
getService(Components.interfaces.nsIAppStartup);
// eAttemptQuit will try to close each XUL window, but the XUL window can
cancel the quit
// process if there is unsaved data. eForceQuit will quit no matter what.
var quitSeverity = Components.interfaces.nsIAppStartup.eForceQuit;
appStartup.quit(quitSeverity);
}
If I call closeImmediate() immediately after application startup (e.g. no xpcom
interaction yet), it crashes too.
I scanned lots of groups and couldn't find any info on how the shutdown from
within JS should be done nowaydays.
Any input appreciated.
Paul
_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform