From 0b1894ba8a98b6dddb136e4648942d140c328821 Mon Sep 17 00:00:00 2001 From: "bienvenu%nventure.com" Date: Tue, 13 Jan 2004 19:00:18 +0000 Subject: [PATCH] fix discovery of 3+ level deep folders when not using imap subscription, 165161, sr=mscott git-svn-id: svn://10.0.0.236/trunk@151253 18797224-902f-48f8-a5cc-f745e15eee43 --- .../imap/src/nsImapIncomingServer.cpp | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/mozilla/mailnews/imap/src/nsImapIncomingServer.cpp b/mozilla/mailnews/imap/src/nsImapIncomingServer.cpp index 48650fec5ee..2de33de2e97 100644 --- a/mozilla/mailnews/imap/src/nsImapIncomingServer.cpp +++ b/mozilla/mailnews/imap/src/nsImapIncomingServer.cpp @@ -20,7 +20,7 @@ * the Initial Developer. All Rights Reserved. * * Contributor(s): - * David Bienvenu + * David Bienvenu * Jeff Tsai * Scott MacGregor * Seth Spitzer @@ -406,20 +406,20 @@ NS_IMPL_SERVERPREF_BOOL(nsImapIncomingServer, AOLMailboxView, NS_IMETHODIMP nsImapIncomingServer::GetIsAOLServer(PRBool *aBool) { - if (!aBool) - return NS_ERROR_NULL_POINTER; - *aBool = ((m_capability & kAOLImapCapability) != 0); - return NS_OK; + if (!aBool) + return NS_ERROR_NULL_POINTER; + *aBool = ((m_capability & kAOLImapCapability) != 0); + return NS_OK; } NS_IMETHODIMP nsImapIncomingServer::SetIsAOLServer(PRBool aBool) { - if (aBool) - m_capability |= kAOLImapCapability; - else - m_capability &= ~kAOLImapCapability; - return NS_OK; + if (aBool) + m_capability |= kAOLImapCapability; + else + m_capability &= ~kAOLImapCapability; + return NS_OK; } @@ -1012,8 +1012,8 @@ const char *nsImapIncomingServer::GetPFCName() { if(NS_SUCCEEDED(GetStringBundle())) { - nsXPIDLString pfcName; - nsresult res = m_stringBundle->GetStringFromID(IMAP_PERSONAL_FILING_CABINET, getter_Copies(pfcName)); + nsXPIDLString pfcName; + nsresult res = m_stringBundle->GetStringFromID(IMAP_PERSONAL_FILING_CABINET, getter_Copies(pfcName)); if (NS_SUCCEEDED(res)) m_pfcName = NS_ConvertUCS2toUTF8(pfcName).get(); } @@ -1604,12 +1604,12 @@ nsresult nsImapIncomingServer::GetFolder(const char* name, nsIMsgFolder** pFolde NS_IMETHODIMP nsImapIncomingServer::OnlineFolderDelete(const char *aFolderName) { - return NS_OK; + return NS_OK; } NS_IMETHODIMP nsImapIncomingServer::OnlineFolderCreateFailed(const char *aFolderName) { - return NS_OK; + return NS_OK; } NS_IMETHODIMP nsImapIncomingServer::OnlineFolderRename(nsIMsgWindow *msgWindow, const char *oldName, const char *newName) @@ -1764,6 +1764,9 @@ NS_IMETHODIMP nsImapIncomingServer::DiscoveryDone() if(NS_FAILED(rv)) return rv; + PRBool usingSubscription = PR_TRUE; + GetUsingSubscription(&usingSubscription); + rv = GetUnverifiedFolders(unverifiedFolders, &numUnverifiedFolders); if (numUnverifiedFolders > 0) { @@ -1778,7 +1781,7 @@ NS_IMETHODIMP nsImapIncomingServer::DiscoveryDone() nsCOMPtr currentFolder = do_QueryInterface(element, &rv); if (NS_FAILED(rv)) continue; - if ((NS_SUCCEEDED(currentImapFolder->GetExplicitlyVerify(&explicitlyVerify)) && explicitlyVerify) || + if ((!usingSubscription || (NS_SUCCEEDED(currentImapFolder->GetExplicitlyVerify(&explicitlyVerify)) && explicitlyVerify)) || ((NS_SUCCEEDED(currentFolder->GetHasSubFolders(&hasSubFolders)) && hasSubFolders) && !NoDescendentsAreVerified(currentFolder))) { @@ -3612,7 +3615,7 @@ nsImapIncomingServer::GetNewMessagesForNonInboxFolders(nsIMsgFolder *aFolder, (void) aFolder->GetIsServer(&isServer); nsCOMPtr imapFolder = do_QueryInterface(aFolder); if (imapFolder && !isServer) - imapFolder->UpdateStatus(nsnull, aWindow); + imapFolder->UpdateStatus(nsnull, nsnull /* aWindow - null window will prevent alerts */); } else {