summaryrefslogtreecommitdiff
path: root/gtk2_ardour/export_channel_selector.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-05-25 13:53:21 +0200
committerRobin Gareus <robin@gareus.org>2016-05-25 13:53:21 +0200
commit925501c851661d612bbc1b0f0b545c9fc8897213 (patch)
tree6671289d5456a0298f329f571faf4d114de1afb4 /gtk2_ardour/export_channel_selector.cc
parent4cd82846b7e5c660e0067846ee97a06424508c4c (diff)
don't clear export-channel selection when switching presets
Diffstat (limited to 'gtk2_ardour/export_channel_selector.cc')
-rw-r--r--gtk2_ardour/export_channel_selector.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/gtk2_ardour/export_channel_selector.cc b/gtk2_ardour/export_channel_selector.cc
index 939fbee950..baef41e1ae 100644
--- a/gtk2_ardour/export_channel_selector.cc
+++ b/gtk2_ardour/export_channel_selector.cc
@@ -104,6 +104,11 @@ PortExportChannelSelector::sync_with_manager ()
split_checkbox.set_active (state->config->get_split());
channels_spinbutton.set_value (state->config->get_n_chans());
+ /* when loading presets, config is ready set here (shared ptr)
+ * fill_route_list () -> update_channel_count () -> set_channel_count () -> update_config()
+ * will call config->clear_channels(); and clear the config
+ */
+ channel_view.set_config (0);
fill_route_list ();
channel_view.set_config (state->config);
}
@@ -217,6 +222,7 @@ PortExportChannelSelector::ChannelTreeView::set_config (ChannelConfigPtr c)
if (config == c) { return; }
config = c;
+ if (!config) { return; }
uint32_t i = 1;
ExportChannelConfiguration::ChannelList chan_list = config->get_channels();