fix view source and inline images in messages that are in sub-folders on imap servers with hierarchy delimiter other than slash r=naving, sr=sspitzer, a=asa 133899

This commit is contained in:
bienvenu%netscape.com 2002-04-04 22:55:14 +00:00
Родитель 021507bfac
Коммит d1eb0a29fe
1 изменённых файлов: 15 добавлений и 8 удалений

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

@ -398,7 +398,8 @@ nsImapService::SelectFolder(nsIEventQueue * aClientEventQueue,
if (imapFolder) if (imapFolder)
imapFolder->GetCanIOpenThisFolder(&canOpenThisFolder); imapFolder->GetCanIOpenThisFolder(&canOpenThisFolder);
if (!canOpenThisFolder) return NS_OK; if (!canOpenThisFolder)
return NS_OK;
nsCOMPtr<nsIImapUrl> imapUrl; nsCOMPtr<nsIImapUrl> imapUrl;
nsCAutoString urlSpec; nsCAutoString urlSpec;
@ -3314,19 +3315,25 @@ NS_IMETHODIMP nsImapService::NewURI(const nsACString &aSpec,
NS_ENSURE_TRUE(server, NS_ERROR_FAILURE); NS_ENSURE_TRUE(server, NS_ERROR_FAILURE);
// now try to get the folder in question... // now try to get the folder in question...
nsCOMPtr<nsIFolder> aRootFolder; nsCOMPtr<nsIFolder> rootFolder;
server->GetRootFolder(getter_AddRefs(aRootFolder)); server->GetRootFolder(getter_AddRefs(rootFolder));
if (aRootFolder && !folderName.IsEmpty()) if (rootFolder && !folderName.IsEmpty())
{ {
nsCOMPtr<nsIFolder> aFolder; nsCOMPtr<nsIFolder> folder;
rv = aRootFolder->FindSubFolder(folderName, getter_AddRefs(aFolder)); nsCOMPtr <nsIMsgImapMailFolder> imapRoot = do_QueryInterface(rootFolder, &rv);
nsCOMPtr <nsIMsgImapMailFolder> subFolder;
if (imapRoot)
{
imapRoot->FindOnlineSubFolder(folderName, getter_AddRefs(subFolder));
folder = do_QueryInterface(subFolder, &rv);
}
if (NS_SUCCEEDED(rv)) if (NS_SUCCEEDED(rv))
{ {
nsCOMPtr<nsIImapMessageSink> msgSink = do_QueryInterface(aFolder); nsCOMPtr<nsIImapMessageSink> msgSink = do_QueryInterface(folder);
rv = aImapUrl->SetImapMessageSink(msgSink); rv = aImapUrl->SetImapMessageSink(msgSink);
nsCOMPtr<nsIMsgFolder> msgFolder = do_QueryInterface(aFolder); nsCOMPtr<nsIMsgFolder> msgFolder = do_QueryInterface(folder);
rv = SetImapUrlSink(msgFolder, aImapUrl); rv = SetImapUrlSink(msgFolder, aImapUrl);
nsXPIDLCString msgKey; nsXPIDLCString msgKey;