starting in 1.7alpha (and current nightly builds), the following functions on nsIHelperAppLauncher:
Cancel SaveToDisk LaunchWithApplication
will release their reference to the helper app dialog when called. This may be the only reference to this dialog, which means that if you call these functions from an implementation of nsIHelperAppLauncherDialog, your object may be deleted by the time these functions return. This means that accessing member variables may crash.
To prevent this, you need to keep a reference to the object somehow, for example by doing this:
nsRefPtr<name_of_your_object> grip(this); launcher->SaveToDisk(nsnull, PR_FALSE);
(Note again that this is not necessary if some other object keeps a reference to your object, or if you do not access member variables after calling this function).
This change was necessary to fix a memory leak caused by a reference cycle, see http://bugzilla.mozilla.org/show_bug.cgi?id=152224
Also note that the progress dialog will be released after the last OnStateChange, with STATE_STOP set in aStateFlags, is called on the dialog (i.e. the nsIDownload/nsIWebProgressListener implementation). This should not cause any problems.
-biesi _______________________________________________ mozilla-embedding mailing list [EMAIL PROTECTED] http://mail.mozilla.org/listinfo/mozilla-embedding
