* improve locale roster to no longer rely on static object

initialization order
This was meant to fix #7227, but just seems to have bypassed it - the crash is now somewhere else ... needs more investigation

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40529 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Oliver Tappe
2011-02-16 15:27:33 +00:00
parent 51974c5df0
commit 1d8dff0197
2 changed files with 159 additions and 112 deletions
+9 -3
View File
@@ -114,15 +114,16 @@ struct RosterData {
bool fAreResourcesLoaded;
BResources fResources;
RosterData();
status_t fInitStatus;
RosterData(const BLanguage& language,
const BFormattingConventions& conventions);
~RosterData();
static RosterData* Default();
void InitializeCatalogAddOns();
void CleanupCatalogAddOns();
status_t InitCheck() const;
status_t Refresh();
static int CompareInfos(const void* left,
@@ -133,6 +134,11 @@ struct RosterData {
status_t SetDefaultTimeZone(const BTimeZone& zone);
status_t SetPreferredLanguages(const BMessage* msg);
private:
status_t _Initialize();
status_t _InitializeCatalogAddOns();
void _CleanupCatalogAddOns();
status_t _LoadLocaleSettings();
status_t _SaveLocaleSettings();