Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Verwiebe <info@jensverwiebe.de>2012-11-21 17:54:54 +0400
committerJens Verwiebe <info@jensverwiebe.de>2012-11-21 17:54:54 +0400
commitd0b7b0d228fe1bd57cac25d7d068aefcdcf0b3bb (patch)
treeee471aedcc53e806a3d960dcd6830392444153f4 /intern/locale
parentcdcab16d12a0bb28fd0111895c01c3af0da4eaba (diff)
OSX/locale: workaround to get osx system locale from user defaults
Diffstat (limited to 'intern/locale')
-rw-r--r--intern/locale/boost_locale_wrapper.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/intern/locale/boost_locale_wrapper.cpp b/intern/locale/boost_locale_wrapper.cpp
index ec2976f19b9..7b317da1edf 100644
--- a/intern/locale/boost_locale_wrapper.cpp
+++ b/intern/locale/boost_locale_wrapper.cpp
@@ -30,6 +30,10 @@
#include "boost_locale_wrapper.h"
+#if defined (__APPLE__)
+ #include "stdio.h"
+#endif
+
static std::string messages_path;
static std::string default_domain;
@@ -60,7 +64,19 @@ void bl_locale_set(const char *locale)
std::locale::global(gen(locale));
}
else {
+#if defined (__APPLE__)
+ // workaround to get osx system locale from user defaults
+ FILE* fp;
+ char result [10];
+ char osx_locale [10];
+ fp = popen("defaults read .GlobalPreferences AppleLocale","r");
+ fread(result,1,sizeof(result),fp);
+ fclose (fp);
+ sprintf(osx_locale, """%s.UTF-8""", result);
+ std::locale::global(gen(osx_locale));
+#else
std::locale::global(gen(""));
+#endif
}
// Note: boost always uses "C" LC_NUMERIC by default!
}