X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fgeneral.h;h=7136afa2ac1ad59667690de104691a12242143a3;hb=243072522bb877911a25499eacb20dcae016c2a9;hp=b6069a9857c0e7656def5002a2365fdd82619150;hpb=27c26725e9132ac178f3f4cf89fcbce8ec72a1be;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/general.h b/synfig-core/trunk/src/synfig/general.h index b6069a9..7136afa 100644 --- a/synfig-core/trunk/src/synfig/general.h +++ b/synfig-core/trunk/src/synfig/general.h @@ -63,16 +63,15 @@ namespace synfig { class ChangeLocale { - const char *previous; - int category; + const String previous; + const int category; public: ChangeLocale(int category, const char *locale): - previous(setlocale(category,NULL)),category(category) + previous(setlocale(category,locale)),category(category) { - setlocale(category,locale); } ~ChangeLocale() { - setlocale(category,previous); + setlocale(category,previous.c_str()); } }; @@ -88,7 +87,7 @@ public: virtual bool error(const String &task) { return true; } virtual bool warning(const String &task) { return true; } virtual bool amount_complete(int current, int total) { return true; } - + virtual bool valid() const { return true; } }; @@ -116,7 +115,7 @@ public: virtual bool error(const String &task) { if(cb)return cb->error(task); return true; } virtual bool warning(const String &task) { if(cb)return cb->warning(task); return true; } virtual bool amount_complete(int cur, int total) { if(cb)return cb->amount_complete(start+cur*w/total,tot); return true; } - + virtual bool valid() const { return cb != 0; } };