From 9d0e84f49dee1c7e1e7fe5c11b8144edf55ca98c Mon Sep 17 00:00:00 2001 From: "mscott%netscape.com" Date: Tue, 7 Mar 2000 06:38:30 +0000 Subject: [PATCH] fix assertion problems related to the thread macro by adding a routine to prxoy the imap url to the ui thread for release r=bienvenu a=jar --- mailnews/imap/public/nsIImapMailFolderSink.idl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mailnews/imap/public/nsIImapMailFolderSink.idl b/mailnews/imap/public/nsIImapMailFolderSink.idl index 309f60de5817..4e04402d3b1f 100644 --- a/mailnews/imap/public/nsIImapMailFolderSink.idl +++ b/mailnews/imap/public/nsIImapMailFolderSink.idl @@ -26,9 +26,11 @@ #include "nsIImapProtocol.idl" #include "nsIMailboxSpec.idl" - typedef long ImapOnlineCopyState; +interface nsIMsgMailNewsUrl; - [scriptable, uuid(5f7484b0-68b4-11d3-a53e-0060b0fc04b7)] +typedef long ImapOnlineCopyState; + +[scriptable, uuid(5f7484b0-68b4-11d3-a53e-0060b0fc04b7)] interface ImapOnlineCopyStateType { @@ -69,4 +71,9 @@ interface nsIImapMailFolderSink : nsISupports { void AbortHeaderParseStream(in nsIImapProtocol aProtocol) ; void OnlineCopyCompleted(in nsIImapProtocol aProtocol, in ImapOnlineCopyState aCopyState) ; + // these two hokey methods are needed so we can try to make sure the imap url is released + // on the UI thread. This in turn ensures that the objects the imap url holds on to + // are only released / destroyed from the UI thread. + void PrepareToReleaseUrl(in nsIMsgMailNewsUrl aUrl); + void ReleaseUrl(); };