X-Git-Url: https://git.pterodactylus.net/?p=synfig.git;a=blobdiff_plain;f=synfig-studio%2Fsrc%2Fgui%2Fstates%2Fstate_text.cpp;h=6a752d2b9b88a85e0e05656139f003b4d5fe4744;hp=29440b247242d894fc782440e1b9e3ea8cff8573;hb=87cee9053c40cf19f3b1473beed8af05a512ba95;hpb=961d8b11ca07964cb96baf5a32870cef5d8f62fe diff --git a/synfig-studio/src/gui/states/state_text.cpp b/synfig-studio/src/gui/states/state_text.cpp index 29440b2..6a752d2 100644 --- a/synfig-studio/src/gui/states/state_text.cpp +++ b/synfig-studio/src/gui/states/state_text.cpp @@ -163,56 +163,74 @@ StateText::~StateText() void StateText_Context::load_settings() { - String value; - Vector v; - - //parse the arguments yargh! - if(settings.get_value("text.id",value)) - set_id(value); - else - set_id("Text"); - - if(settings.get_value("text.paragraph",value) && value=="1") - set_paragraph_flag(true); - else - set_paragraph_flag(false); - - if(settings.get_value("text.size_x",value)) - v[0] = atof(value.c_str()); - else - v[0] = 0.25; - if(settings.get_value("text.size_y",value)) - v[1] = atof(value.c_str()); - else - v[1] = 0.25; - set_size(v); - - if(settings.get_value("text.orient_x",value)) - v[0] = atof(value.c_str()); - else - v[0] = 0.5; - if(settings.get_value("text.orient_y",value)) - v[1] = atof(value.c_str()); - else - v[1] = 0.5; - set_orientation(v); - - if(settings.get_value("text.family",value)) - set_family(value); - else - set_family("Sans Serif"); + try + { + SETTINGS_LOCALE_SAFE_AND_BACKUP + String value; + Vector v; + + //parse the arguments yargh! + if(settings.get_value("text.id",value)) + set_id(value); + else + set_id("Text"); + + if(settings.get_value("text.paragraph",value) && value=="1") + set_paragraph_flag(true); + else + set_paragraph_flag(false); + + if(settings.get_value("text.size_x",value)) + v[0] = atof(value.c_str()); + else + v[0] = 0.25; + if(settings.get_value("text.size_y",value)) + v[1] = atof(value.c_str()); + else + v[1] = 0.25; + set_size(v); + + if(settings.get_value("text.orient_x",value)) + v[0] = atof(value.c_str()); + else + v[0] = 0.5; + if(settings.get_value("text.orient_y",value)) + v[1] = atof(value.c_str()); + else + v[1] = 0.5; + set_orientation(v); + + if(settings.get_value("text.family",value)) + set_family(value); + else + set_family("Sans Serif"); + SETTINGS_LOCALE_RESTORE + } + catch(...) + { + synfig::warning("State Text: Caught exception when attempting to load settings."); + } } void StateText_Context::save_settings() { - settings.set_value("text.id",get_id()); - settings.set_value("text.paragraph",get_paragraph_flag()?"1":"0"); - settings.set_value("text.size_x",strprintf("%f",(float)get_size()[0])); - settings.set_value("text.size_y",strprintf("%f",(float)get_size()[1])); - settings.set_value("text.orient_x",strprintf("%f",(float)get_orientation()[0])); - settings.set_value("text.orient_y",strprintf("%f",(float)get_orientation()[1])); - settings.set_value("text.family",get_family()); + try + { + SETTINGS_LOCALE_SAFE_AND_BACKUP + settings.set_value("text.id",get_id()); + settings.set_value("text.paragraph",get_paragraph_flag()?"1":"0"); + settings.set_value("text.size_x",strprintf("%f",(float)get_size()[0])); + settings.set_value("text.size_y",strprintf("%f",(float)get_size()[1])); + settings.set_value("text.orient_x",strprintf("%f",(float)get_orientation()[0])); + settings.set_value("text.orient_y",strprintf("%f",(float)get_orientation()[1])); + settings.set_value("text.family",get_family()); + SETTINGS_LOCALE_RESTORE + } + catch(...) + { + synfig::warning("State Text: Caught exception when attempting to save settings."); + } } void