From e35caa3b3501559fbe95ae0f2bbbb91d464e7c5b Mon Sep 17 00:00:00 2001 From: "mnyromyr%tprac.de" Date: Sun, 17 Sep 2006 01:30:48 +0000 Subject: [PATCH] Bug 342065: fix AddTagForKey; r/sr=bienvenu git-svn-id: svn://10.0.0.236/trunk@211877 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/mailnews/base/src/nsMsgTagService.cpp | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/mozilla/mailnews/base/src/nsMsgTagService.cpp b/mozilla/mailnews/base/src/nsMsgTagService.cpp index a2b830a8c0d..7d13ca01a5a 100755 --- a/mozilla/mailnews/base/src/nsMsgTagService.cpp +++ b/mozilla/mailnews/base/src/nsMsgTagService.cpp @@ -247,17 +247,11 @@ NS_IMETHODIMP nsMsgTagService::AddTagForKey(const nsACString &key, { nsCAutoString prefName(key); prefName.AppendLiteral(TAG_PREF_SUFFIX_TAG); - SetUnicharPref(prefName.get(), tag); - prefName.Replace(prefName.Length() - STRLEN(TAG_PREF_SUFFIX_TAG), - STRLEN(TAG_PREF_SUFFIX_TAG), - NS_LITERAL_CSTRING(TAG_PREF_SUFFIX_COLOR)); - m_prefBranch->SetCharPref(prefName.get(), PromiseFlatCString(color).get()); - prefName.Replace(prefName.Length() - STRLEN(TAG_PREF_SUFFIX_COLOR), - STRLEN(TAG_PREF_SUFFIX_COLOR), - NS_LITERAL_CSTRING(TAG_PREF_SUFFIX_ORDINAL)); - if (prefName.IsEmpty()) - return m_prefBranch->ClearUserPref(prefName.get()); - return m_prefBranch->SetCharPref(prefName.get(), PromiseFlatCString(ordinal).get()); + nsresult rv = SetUnicharPref(prefName.get(), tag); + NS_ENSURE_SUCCESS(rv, rv); + rv = SetColorForKey(key, color); + NS_ENSURE_SUCCESS(rv, rv); + return SetOrdinalForKey(key, ordinal); } /* void addTag (in wstring tag, in long color); */ @@ -301,10 +295,13 @@ NS_IMETHODIMP nsMsgTagService::GetColorForKey(const nsACString &key, nsACString /* void setColorForKey (in ACString key, in ACString color); */ NS_IMETHODIMP nsMsgTagService::SetColorForKey(const nsACString & key, const nsACString & color) { - if (color.IsEmpty()) - return NS_ERROR_ILLEGAL_VALUE; nsCAutoString prefName(key); prefName.AppendLiteral(TAG_PREF_SUFFIX_COLOR); + if (color.IsEmpty()) + { + m_prefBranch->ClearUserPref(prefName.get()); + return NS_OK; + } return m_prefBranch->SetCharPref(prefName.get(), PromiseFlatCString(color).get()); } @@ -325,7 +322,10 @@ NS_IMETHODIMP nsMsgTagService::SetOrdinalForKey(const nsACString & key, const ns nsCAutoString prefName(key); prefName.AppendLiteral(TAG_PREF_SUFFIX_ORDINAL); if (ordinal.IsEmpty()) - return m_prefBranch->ClearUserPref(prefName.get()); + { + m_prefBranch->ClearUserPref(prefName.get()); + return NS_OK; + } return m_prefBranch->SetCharPref(prefName.get(), PromiseFlatCString(ordinal).get()); }