fix discovery+handling of deleted imap folders when not using imap subscription, 236685 sr=mscott

This commit is contained in:
bienvenu%nventure.com 2004-03-07 18:18:02 +00:00
Родитель d162445909
Коммит 9661ce563e
1 изменённых файлов: 18 добавлений и 1 удалений

Просмотреть файл

@ -950,7 +950,7 @@ NS_IMETHODIMP nsImapMailFolder::List()
nsCOMPtr<nsIImapService> imapService = do_GetService(NS_IMAPSERVICE_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv,rv);
rv = imapService->ListFolder(m_eventQueue, this, nsnull, nsnull);
rv = imapService->ListFolder(m_eventQueue, this, this, nsnull);
return rv;
}
@ -4603,6 +4603,23 @@ nsImapMailFolder::OnStopRunningUrl(nsIURI *aUrl, nsresult aExitCode)
}
break;
case nsIImapUrl::nsImapListFolder:
// check if folder is now verified - if not,
// we should remove it?
if (NS_SUCCEEDED(aExitCode) && !m_verifiedAsOnlineFolder)
{
nsCOMPtr<nsIMsgFolder> parent;
rv = GetParent(getter_AddRefs(parent));
if (NS_SUCCEEDED(rv) && parent)
{
nsCOMPtr<nsIMsgImapMailFolder> imapParent = do_QueryInterface(parent);
if (imapParent)
imapParent->RemoveSubFolder(this);
}
}
break;
case nsIImapUrl::nsImapRefreshFolderUrls:
// we finished getting an admin url for the folder.
if (!m_adminUrl.IsEmpty())