Fixed weird localization issue where saves SIF files would use number in the local...
[synfig.git] / synfig-core / trunk / src / synfig / general.h
index 7e8f0e3..3be6cce 100644 (file)
@@ -30,6 +30,7 @@
 #include <ETL/stringf>
 #include "string.h"
 #include "version.h"
+#include <locale.h>
 
 /* === M A C R O S ========================================================= */
 
 
 namespace synfig {
 
+class ChangeLocale {
+    const char *previous;
+    int category;
+public:
+    ChangeLocale(int category, const char *locale):
+        previous(setlocale(category,NULL)),category(category)
+    {
+            setlocale(category,locale);
+    }
+    ~ChangeLocale() {
+        setlocale(category,previous);
+    }
+};
+
 /*!    \class ProgressCallback
 **     \todo writeme
 */