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
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to