Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
macOS: Initialize standard NSUserDefaults as early as possible
The standard user defaults are initialized from an ordered list of domains, as documented by NSUserDefaults.standardUserDefaults. This includes e.g. parsing command line arguments, such as -AppleLocale "fr_FR", as well as global defaults. AppKit does this during [NSUserDefaults init], which in turn initializes the locale returned by CFLocaleCopyCurrent() and NSLocale.currentLocale. If those functions are called before NSUserDefaults does its thing the locale will already have been created, and the logic in NSUserDefaults won't have any effect -- nor is there any way for us to set/override the locale after this. To ensure that the -AppleLocale command line override is available through the lower level Core Foundation preferences APIs, we need to initialize the user defaults as early as possible via the Foundation-API. Change-Id: I906a5a8b05a7216e60020ec45f8da725b801d2c5 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
- Loading branch information