a different lifetime model from add_instant_xml().
*/
+ LocaleGuard lg; // one guard to rule them all
XMLNode* node = new XMLNode (keyboard->get_state());
Config->add_extra_xml (*node);
Config->add_extra_xml (get_transport_controllable_state());
#include <pango/pangocairo.h> // for fontmap resolution control for GnomeCanvas
#include "pbd/gstdio_compat.h"
+#include "pbd/unwind.h"
#include <glibmm/miscutils.h>
#include <gtkmm/settings.h>
if (ret == 0) {
/* reload color theme */
load_color_theme (false);
- ColorsChanged (); /* EMIT SIGNAL */
}
return ret;
std::string cfile;
string basename;
bool found = false;
+ /* ColorsChanged() will trigger a parameter_changed () which
+ * in turn calls save_state()
+ */
+ PBD::Unwinder<uint32_t> uw (block_save, block_save + 1);
if (allow_own) {
basename = "my-";
int
UIConfiguration::load_state ()
{
+ LocaleGuard lg; // a single guard for all 3 configs
bool found = false;
std::string rcfile;
int
UIConfiguration::save_state()
{
+ if (block_save != 0) {
+ return -1;
+ }
if (_dirty) {
std::string rcfile = Glib::build_filename (user_config_directory(), ui_config_file_name);
int
UIConfiguration::set_state (const XMLNode& root, int /*version*/)
{
+ LocaleGuard lg;
/* this can load a generic UI configuration file or a colors file */
if (root.name() != "Ardour") {