diff --git a/src/corelib/kernel/qcore_mac.mm b/src/corelib/kernel/qcore_mac.mm index a3d1669b81..6bf61b1155 100644 --- a/src/corelib/kernel/qcore_mac.mm +++ b/src/corelib/kernel/qcore_mac.mm @@ -67,6 +67,21 @@ QT_BEGIN_NAMESPACE // -------------------------------------------------------------------------- +static void initializeStandardUserDefaults() +{ + // 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 -AppleFooBar "baz", as well as + // global defaults. To ensure that these defaults are available through + // the lower level Core Foundation preferences APIs, we need to initialize + // them as early as possible via the Foundation-API, as the lower level APIs + // do not do this initialization. + Q_UNUSED(NSUserDefaults.standardUserDefaults); +} +Q_CONSTRUCTOR_FUNCTION(initializeStandardUserDefaults); + +// -------------------------------------------------------------------------- + QCFString::operator QString() const { if (string.isEmpty() && value)