From: Carlos Lopez Date: Sun, 28 Nov 2010 11:26:47 +0000 (+0100) Subject: Fix synfig::ChangleLocale class. X-Git-Url: https://git.pterodactylus.net/?p=synfig.git;a=commitdiff_plain;h=406dc17260884fc08a0f5c126e4bdbc7505a5035 Fix synfig::ChangleLocale class. It wasn't backing up the old locale so it didn't restore it back when the class destructor was called. --- diff --git a/synfig-core/src/synfig/general.h b/synfig-core/src/synfig/general.h index 639eb51..0442918 100644 --- a/synfig-core/src/synfig/general.h +++ b/synfig-core/src/synfig/general.h @@ -69,16 +69,20 @@ namespace synfig { class ChangeLocale { - const String previous; - const int category; + const String previous; + const int category; public: - ChangeLocale(int category, const char *locale): - previous(setlocale(category,locale)),category(category) - { - } - ~ChangeLocale() { - setlocale(category,previous.c_str()); - } + ChangeLocale(int category, const char *locale): + // This backups the old locale + previous(setlocale(category,NULL)),category(category) + { + // This effectively changes the locale + setlocale(category, locale); + } + ~ChangeLocale() { + // This restores the locale + setlocale(category,previous.c_str()); + } }; /*! \class ProgressCallback