From 29d08787e05477320f8036bc67cecdd8853a76ed Mon Sep 17 00:00:00 2001 From: "nhotta%netscape.com" Date: Fri, 11 May 2001 00:27:49 +0000 Subject: [PATCH] Changed to get charset/charsetoverride from dbfolderinfo instead of cached value or getting from pref, bug 74772, r=bienvenu, sr=sspitzer. git-svn-id: svn://10.0.0.236/trunk@94540 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/mailnews/base/util/nsMsgDBFolder.cpp | 48 ++++++++------------ 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/mozilla/mailnews/base/util/nsMsgDBFolder.cpp b/mozilla/mailnews/base/util/nsMsgDBFolder.cpp index 2915500b237..e70d936c699 100644 --- a/mozilla/mailnews/base/util/nsMsgDBFolder.cpp +++ b/mozilla/mailnews/base/util/nsMsgDBFolder.cpp @@ -203,33 +203,19 @@ NS_IMETHODIMP nsMsgDBFolder::GetCharset(PRUnichar * *aCharset) if(!aCharset) return NS_ERROR_NULL_POINTER; - if(mCharset.IsEmpty()) - { - NS_WITH_SERVICE(nsIPref, prefs, kPrefServiceCID, &rv); - - PRUnichar *prefCharset = nsnull; - if (NS_SUCCEEDED(rv)) - { - rv = prefs->GetLocalizedUnicharPref("mailnews.view_default_charset", &prefCharset); - } - - nsAutoString prefCharsetStr; - if(prefCharset) - { - prefCharsetStr.Assign(prefCharset); - PR_Free(prefCharset); - } - else - { - prefCharsetStr.AssignWithConversion("us-ascii"); - } - *aCharset = prefCharsetStr.ToNewUnicode(); - } - else - { - *aCharset = mCharset.ToNewUnicode(); - } - return rv; + nsCOMPtr folderInfo; + nsCOMPtr db; + rv = GetDBFolderInfoAndDB(getter_AddRefs(folderInfo), getter_AddRefs(db)); + if(NS_SUCCEEDED(rv)) + { + nsXPIDLCString charset; + rv = folderInfo->GetCharPtrCharacterSet(getter_Copies(charset)); + if(NS_SUCCEEDED(rv)) + { + *aCharset = NS_ConvertASCIItoUCS2(charset.get()).ToNewUnicode(); + } + } + return rv; } NS_IMETHODIMP nsMsgDBFolder::SetCharset(const PRUnichar * aCharset) @@ -251,8 +237,12 @@ NS_IMETHODIMP nsMsgDBFolder::SetCharset(const PRUnichar * aCharset) NS_IMETHODIMP nsMsgDBFolder::GetCharsetOverride(PRBool *aCharsetOverride) { - *aCharsetOverride = mCharsetOverride; - return NS_OK; + nsCOMPtr folderInfo; + nsCOMPtr db; + nsresult rv = GetDBFolderInfoAndDB(getter_AddRefs(folderInfo), getter_AddRefs(db)); + if(NS_SUCCEEDED(rv)) + rv = folderInfo->GetCharacterSetOverride(aCharsetOverride); + return rv; } NS_IMETHODIMP nsMsgDBFolder::SetCharsetOverride(PRBool aCharsetOverride)