From 803a1f70aa02f8754351500cf63e8f1a402dec1a Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Mon, 16 Aug 2010 22:48:00 +0000 Subject: [PATCH] * Refresh() should make sure to try and load both "locale" and "timezone" settings, not give up when one is missing (like on a fresh image) * try harder to fallback to proper default values when loading the locale settings file fails git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38165 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/locale/MutableLocaleRoster.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/kits/locale/MutableLocaleRoster.cpp b/src/kits/locale/MutableLocaleRoster.cpp index 0b2b706cdf..db45942117 100644 --- a/src/kits/locale/MutableLocaleRoster.cpp +++ b/src/kits/locale/MutableLocaleRoster.cpp @@ -169,11 +169,10 @@ RosterData::Refresh() if (!lock.IsLocked()) return B_ERROR; - status_t status = _LoadLocaleSettings(); - if (status == B_OK) - status = _LoadTimeSettings(); + _LoadLocaleSettings(); + _LoadTimeSettings(); - return status; + return B_OK; } /* @@ -458,8 +457,11 @@ RosterData::_LoadLocaleSettings() // Something went wrong (no settings file or invalid BMessage), so we // set everything to default values + + fPreferredLanguages.MakeEmpty(); fPreferredLanguages.AddString("language", "en"); - log_team(LOG_ERR, "*** No locale settings found!\n"); + _SetDefaultLocale("en_US"); + fDefaultLanguage.SetTo("en"); return status; } @@ -491,7 +493,6 @@ RosterData::_LoadTimeSettings() // Something went wrong (no settings file or invalid BMessage), so we // set everything to default values _SetDefaultTimeZone(BTimeZone(BTimeZone::kNameOfGmtZone)); - log_team(LOG_ERR, "*** No time settings found!\n"); return status; } @@ -607,6 +608,8 @@ RosterData::_SetPreferredLanguages(const BMessage* languages) } else { fPreferredLanguages.MakeEmpty(); fPreferredLanguages.AddString("language", "en"); + fDefaultLocale.SetCollator(BCollator("en")); + fDefaultLanguage.SetTo("en"); } return B_OK;