Fix synfig::ChangleLocale class.
[synfig.git] / synfig-core / src / synfig / general.h
index 639eb51..0442918 100644 (file)
 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