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
This commit is contained in:
nhotta%netscape.com
2001-05-11 00:27:49 +00:00
parent eb5eb7ae16
commit 29d08787e0

View File

@@ -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<nsIDBFolderInfo> folderInfo;
nsCOMPtr<nsIMsgDatabase> 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<nsIDBFolderInfo> folderInfo;
nsCOMPtr<nsIMsgDatabase> 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)