[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52447] trunk/blender/intern/locale/ boost_locale_wrapper.cpp: OSX/locale: workaround to get osx system locale from user defaults

jens verwiebe info at jensverwiebe.de
Wed Nov 21 14:54:57 CET 2012


Revision: 52447
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52447
Author:   jensverwiebe
Date:     2012-11-21 13:54:54 +0000 (Wed, 21 Nov 2012)
Log Message:
-----------
OSX/locale: workaround to get osx system locale from user defaults

Modified Paths:
--------------
    trunk/blender/intern/locale/boost_locale_wrapper.cpp

Modified: trunk/blender/intern/locale/boost_locale_wrapper.cpp
===================================================================
--- trunk/blender/intern/locale/boost_locale_wrapper.cpp	2012-11-21 13:45:37 UTC (rev 52446)
+++ trunk/blender/intern/locale/boost_locale_wrapper.cpp	2012-11-21 13:54:54 UTC (rev 52447)
@@ -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 @@
 		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!
 }




More information about the Bf-blender-cvs mailing list