13
0

Fix LocationUI clock-mode save/load & caching

(sidebar uses explicit LocationUI::set_state(), Location Window
implicit set_session)
This commit is contained in:
Robin Gareus 2017-03-10 19:37:02 +01:00
parent 6af51b52ff
commit eac0a2b6ec

View File

@ -1151,11 +1151,7 @@ XMLNode &
LocationUI::get_state () const LocationUI::get_state () const
{ {
XMLNode* node = new XMLNode (_state_node_name); XMLNode* node = new XMLNode (_state_node_name);
if (_mode_set) { node->add_property (X_("clock-mode"), enum_2_string (_clock_group->clock_mode ()));
node->add_property (X_("clock-mode"), enum_2_string (_mode));
} else {
node->add_property (X_("clock-mode"), enum_2_string (_clock_group->clock_mode ()));
}
return *node; return *node;
} }
@ -1171,9 +1167,7 @@ LocationUI::set_state (const XMLNode& node)
} }
_mode = (AudioClock::Mode) string_2_enum (p->value (), AudioClock::Mode); _mode = (AudioClock::Mode) string_2_enum (p->value (), AudioClock::Mode);
_mode_set = true; _mode_set = true;
if (_clock_group) { _clock_group->set_clock_mode (_mode);
_clock_group->set_clock_mode (_mode);
}
return 0; return 0;
} }
@ -1186,7 +1180,7 @@ LocationUI::clock_mode_from_session_instant_xml ()
XMLNode* node = _session->instant_xml (_state_node_name); XMLNode* node = _session->instant_xml (_state_node_name);
if (!node) { if (!node) {
return AudioClock::Frames; return ARDOUR_UI::instance()->secondary_clock->mode();
} }
XMLProperty const * p = node->property (X_("clock-mode")); XMLProperty const * p = node->property (X_("clock-mode"));