From 28714d3d313f6d999fadbe63c5a1d620997b9f48 Mon Sep 17 00:00:00 2001 From: "bienvenu%netscape.com" Date: Wed, 14 May 2003 00:52:16 +0000 Subject: [PATCH] fix for problem failing to delete imap messages when user has a server that supports acl and changes his username, r/sr/a=sspitzer 63550 --- mailnews/imap/src/nsImapMailFolder.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mailnews/imap/src/nsImapMailFolder.cpp b/mailnews/imap/src/nsImapMailFolder.cpp index 74c325dc8de..ad091a4f7a6 100644 --- a/mailnews/imap/src/nsImapMailFolder.cpp +++ b/mailnews/imap/src/nsImapMailFolder.cpp @@ -5258,7 +5258,16 @@ const char *nsMsgIMAPFolderACL::GetRightsStringForUser(const char *inUserName) nsXPIDLCString userName; userName.Assign(inUserName); if (!userName.Length()) - m_folder->GetUsername(getter_Copies(userName)); + { + nsCOMPtr server; + + nsresult rv = m_folder->GetServer(getter_AddRefs(server)); + NS_ASSERTION(NS_SUCCEEDED(rv), "error getting server"); + if (NS_FAILED(rv)) return nsnull; + // we need the real user name to match with what the imap server returns + // in the acl response. + server->GetRealUsername(getter_Copies(userName)); + } nsCStringKey userKey(userName.get()); return (const char *)m_rightsHash->Get(&userKey);