- settings.set_value("draw.id",get_id().c_str());
- settings.set_value("draw.pressure_width",get_pressure_width_flag()?"1":"0");
- settings.set_value("draw.auto_loop",get_auto_loop_flag()?"1":"0");
- settings.set_value("draw.auto_extend",get_auto_extend_flag()?"1":"0");
- settings.set_value("draw.auto_link",get_auto_link_flag()?"1":"0");
- settings.set_value("draw.region",get_region_flag()?"1":"0");
- settings.set_value("draw.outline",get_outline_flag()?"1":"0");
- settings.set_value("draw.auto_export",get_auto_export_flag()?"1":"0");
- settings.set_value("draw.min_pressure",strprintf("%f",get_min_pressure()));
- settings.set_value("draw.feather",strprintf("%f",get_feather()));
- settings.set_value("draw.min_pressure_on",get_min_pressure_flag()?"1":"0");
- settings.set_value("draw.gthreshold",strprintf("%f",get_gthres()));
- settings.set_value("draw.lthreshold",strprintf("%f",get_lthres()));
- settings.set_value("draw.localize",get_local_error_flag()?"1":"0");
+ try
+ {
+ SETTINGS_LOCALE_SAFE_AND_BACKUP
+ settings.set_value("draw.id",get_id().c_str());
+ settings.set_value("draw.pressure_width",get_pressure_width_flag()?"1":"0");
+ settings.set_value("draw.auto_loop",get_auto_loop_flag()?"1":"0");
+ settings.set_value("draw.auto_extend",get_auto_extend_flag()?"1":"0");
+ settings.set_value("draw.auto_link",get_auto_link_flag()?"1":"0");
+ settings.set_value("draw.region",get_region_flag()?"1":"0");
+ settings.set_value("draw.outline",get_outline_flag()?"1":"0");
+ settings.set_value("draw.auto_export",get_auto_export_flag()?"1":"0");
+ settings.set_value("draw.min_pressure",strprintf("%f",get_min_pressure()));
+ settings.set_value("draw.feather",strprintf("%f",get_feather()));
+ settings.set_value("draw.min_pressure_on",get_min_pressure_flag()?"1":"0");
+ settings.set_value("draw.gthreshold",strprintf("%f",get_gthres()));
+ settings.set_value("draw.lthreshold",strprintf("%f",get_lthres()));
+ settings.set_value("draw.localize",get_local_error_flag()?"1":"0");
+ SETTINGS_LOCALE_RESTORE
+ }
+ catch(...)
+ {
+ synfig::warning("State Draw: Caught exception when attempting to save settings.");
+ }