Restrict UDP SwitchConfiguration(14) to existing configurations

This commit is contained in:
Bill Somerville 2021-02-24 11:22:10 +00:00
parent 01dff71070
commit 63ef8412b9
No known key found for this signature in database
GPG Key ID: D864B06D1E81618F
1 changed files with 15 additions and 7 deletions

View File

@ -576,20 +576,28 @@ void MultiSettings::impl::select_configuration (QString const& target_name)
{
if (main_window_ && target_name != current_)
{
bool changed {false};
{
auto const& current_group = settings_.group ();
if (current_group.size ()) settings_.endGroup ();
// position to the alternative settings
SettingsGroup alternatives {&settings_, multi_settings_root_group};
// save the target settings
SettingsGroup target_group {&settings_, target_name};
new_settings_ = get_settings ();
if (settings_.childGroups ().contains (target_name))
{
changed = true;
// save the target settings
SettingsGroup target_group {&settings_, target_name};
new_settings_ = get_settings ();
}
if (current_group.size ()) settings_.beginGroup (current_group);
}
// and set up the restart
current_ = target_name;
Q_EMIT parent_->configurationNameChanged (unescape_ampersands (current_));
restart (RepositionType::save_and_replace);
if (changed)
{
// and set up the restart
current_ = target_name;
Q_EMIT parent_->configurationNameChanged (unescape_ampersands (current_));
restart (RepositionType::save_and_replace);
}
}
}