CID 2001 : be_locale_roster->GetLanguage may fail.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38027 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Adrien Destugues
2010-08-11 13:56:39 +00:00
parent 23f2073215
commit 3cf37a1a09
+12 -6
View File
@@ -178,15 +178,21 @@ TranslationComparator(const void* left, const void* right)
const Translation* rightTranslation = *(const Translation**)right;
BLanguage* language;
be_locale_roster->GetLanguage(leftTranslation->languageCode, &language);
BString leftName;
language->GetTranslatedName(leftName);
delete language;
if (be_locale_roster->GetLanguage(leftTranslation->languageCode, &language)
== B_OK) {
language->GetTranslatedName(leftName);
delete language;
} else
leftName = leftTranslation->languageCode;
be_locale_roster->GetLanguage(rightTranslation->languageCode, &language);
BString rightName;
language->GetTranslatedName(rightName);
delete language;
if (be_locale_roster->GetLanguage(rightTranslation->languageCode, &language)
== B_OK) {
language->GetTranslatedName(rightName);
delete language;
} else
rightName = rightTranslation->languageCode;
BCollator collator;
be_locale_roster->GetDefaultCollator(&collator);