diff --git a/mozilla/mailnews/base/util/nsMsgFolder.cpp b/mozilla/mailnews/base/util/nsMsgFolder.cpp index 3912940ca4b..5fbe18d412c 100644 --- a/mozilla/mailnews/base/util/nsMsgFolder.cpp +++ b/mozilla/mailnews/base/util/nsMsgFolder.cpp @@ -284,8 +284,9 @@ nsresult nsMsgFolder::CreateBaseMessageURI(const char *aURI) NS_IMETHODIMP nsMsgFolder::Shutdown(PRBool shutdownChildren) { - // Reset incoming server pointer. + // Reset incoming server pointer and pathname. mServer = nsnull; + mPath = nsnull; return NS_OK; } diff --git a/mozilla/mailnews/imap/src/nsImapMailFolder.cpp b/mozilla/mailnews/imap/src/nsImapMailFolder.cpp index 5b03db2aab5..faf45c44c9e 100644 --- a/mozilla/mailnews/imap/src/nsImapMailFolder.cpp +++ b/mozilla/mailnews/imap/src/nsImapMailFolder.cpp @@ -2224,6 +2224,10 @@ NS_IMETHODIMP nsImapMailFolder::GetNewMessages(nsIMsgWindow *aWindow, nsIUrlList NS_IMETHODIMP nsImapMailFolder::Shutdown(PRBool shutdownChildren) { m_filterList = nsnull; + m_initialized = PR_FALSE; + // m_pathName is used to decide if folder pathname needs to be reconstructed in GetPath(). + delete m_pathName; + m_pathName = nsnull; return nsMsgDBFolder::Shutdown(shutdownChildren); } diff --git a/mozilla/mailnews/local/src/nsLocalMailFolder.h b/mozilla/mailnews/local/src/nsLocalMailFolder.h index a7a5e21fca9..a031101c93a 100644 --- a/mozilla/mailnews/local/src/nsLocalMailFolder.h +++ b/mozilla/mailnews/local/src/nsLocalMailFolder.h @@ -167,6 +167,7 @@ public: nsIMsgCopyServiceListener* listener); NS_IMETHOD GetNewMessages(nsIMsgWindow *aWindow, nsIUrlListener *aListener); NS_IMETHOD NotifyCompactCompleted(); + NS_IMETHOD Shutdown(PRBool shutdownChildren); protected: nsresult CopyFolderAcrossServer(nsIMsgFolder *srcFolder, nsIMsgWindow *msgWindow,nsIMsgCopyServiceListener* listener); diff --git a/mozilla/mailnews/news/src/nsNewsFolder.cpp b/mozilla/mailnews/news/src/nsNewsFolder.cpp index dfb9b96ab21..ec263a270f2 100644 --- a/mozilla/mailnews/news/src/nsNewsFolder.cpp +++ b/mozilla/mailnews/news/src/nsNewsFolder.cpp @@ -1811,3 +1811,9 @@ NS_IMETHODIMP nsMsgNewsFolder::GetPersistElided(PRBool *aPersistElided) } +NS_IMETHODIMP nsMsgNewsFolder::Shutdown(PRBool shutdownChildren) +{ + mInitialized = PR_FALSE; + return nsMsgDBFolder::Shutdown(shutdownChildren); +} + diff --git a/mozilla/mailnews/news/src/nsNewsFolder.h b/mozilla/mailnews/news/src/nsNewsFolder.h index 0c487b77545..62571b848c1 100644 --- a/mozilla/mailnews/news/src/nsNewsFolder.h +++ b/mozilla/mailnews/news/src/nsNewsFolder.h @@ -117,6 +117,8 @@ public: NS_IMETHOD GetPersistElided(PRBool *aPersistElided); + NS_IMETHOD Shutdown(PRBool shutdownChildren); + // for nsMsgLineBuffer virtual PRInt32 HandleLine(char *line, PRUint32 line_size);