mail[Wesnoth-commits] r34210 - /trunk/src/language.cpp


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by kailoran on March 28, 2009 - 14:40:
Author: ilor
Date: Sat Mar 28 14:40:06 2009
New Revision: 34210

URL: http://svn.gna.org/viewcvs/wesnoth?rev=34210&view=rev
Log:
Do not call setlocale with LC_ALL on windows when trying to set the 
unavailable on win32 LC_MESSAGES, instead just return. Also only set LANG env 
var when setting LC_MESSAGES and never set the LC_ALL var. This fixes the 
units not submerging bug and possibly more issues as floats will now load 
correctly regardless of locale.

Modified:
    trunk/src/language.cpp

Modified: trunk/src/language.cpp
URL: 
http://svn.gna.org/viewcvs/wesnoth/trunk/src/language.cpp?rev=34210&r1=34209&r2=34210&view=diff
==============================================================================
--- trunk/src/language.cpp (original)
+++ trunk/src/language.cpp Sat Mar 28 14:40:06 2009
@@ -210,17 +210,15 @@
 #endif
 
 #ifdef _WIN32
-       std::string env = "LANG=" + slocale;
-       _putenv(env.c_str());
-       env = "LC_ALL=" + slocale;
-       _putenv(env.c_str());
        std::string win_locale = locale;
        win_locale = win_locale.substr(0,2);
        #include "language_win32.ii"
-       SetEnvironmentVariable("LANG", win_locale.c_str());
-       SetEnvironmentVariable("LC_ALL", win_locale.c_str());
-       if(category == LC_MESSAGES)
-           category = LC_ALL;
+       if(category == LC_MESSAGES) {
+               std::string env = "LANG=" + slocale;
+               _putenv(env.c_str());
+               SetEnvironmentVariable("LANG", win_locale.c_str());
+               return;
+       }
        locale = win_locale.c_str();
 #endif
 
@@ -296,6 +294,10 @@
                          << locale << "'.\n";
        else
                LOG_GENERAL << "set locale to '" << (try_loc.get()) << "' 
result: '" << res <<"'\n";
+
+       DBG_GENERAL << "Numeric locale: " << std::setlocale(LC_NUMERIC, NULL) 
<< '\n';
+       DBG_GENERAL << "Full locale: " << std::setlocale(LC_ALL, NULL) << 
'\n';
+
 }
 
 bool set_language(const language_def& locale)




Related Messages


Powered by MHonArc, Updated Sat Mar 28 15:00:40 2009