X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmixer_ui.cc;h=097c229cf09471fb5bfa67b3c6c8a258053832d9;hb=61cade6d59118288e90a405e0f4fbc24d0108814;hp=0d3f42c1d5e2fb24f462bb55087bb09371fd7023;hpb=c4ac43749048c4c0e0ab3656d39384112a628742;p=ardour.git diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 0d3f42c1d5..097c229cf0 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -24,6 +24,7 @@ #include #include "pbd/convert.h" +#include "pbd/stacktrace.h" #include #include @@ -63,7 +64,6 @@ using PBD::atoi; Mixer_UI::Mixer_UI () : Window (Gtk::WINDOW_TOPLEVEL) - , _plugin_selector (0) { session = 0; _strip_width = Config->get_default_narrow_ms() ? Narrow : Wide; @@ -252,6 +252,8 @@ Mixer_UI::Mixer_UI () group_display.show(); auto_rebinding = FALSE; + + _plugin_selector = new PluginSelector (PluginManager::the_manager ()); } Mixer_UI::~Mixer_UI () @@ -378,7 +380,7 @@ Mixer_UI::sync_order_keys (string const & src) TreeModel::Children rows = track_model->children(); TreeModel::Children::iterator ri; - if (src == N_("signal") || !session || (session->state_of_the_state() & Session::Loading) || rows.empty()) { + if (src == N_("signal") || !session || (session->state_of_the_state() & (Session::Loading|Session::Deletion)) || rows.empty()) { return; } @@ -398,6 +400,10 @@ Mixer_UI::sync_order_keys (string const & src) changed = true; } } + + if (keys.size() != rows.size()) { + PBD::stacktrace (cerr, 20); + } assert(keys.size() == rows.size()); // Remove any gaps in keys caused by automation children tracks @@ -1146,7 +1152,7 @@ Mixer_UI::group_flags_changed (void* src, RouteGroup* group) for (list::iterator i = strips.begin(); i != strips.end(); ++i) { if ((*i)->route_group() == group) { - (*i)->route_group_changed(0); + (*i)->route_group_changed(); } } @@ -1554,9 +1560,5 @@ Mixer_UI::set_route_group_activation (RouteGroup* g, bool a) PluginSelector* Mixer_UI::plugin_selector() { - if (!_plugin_selector) { - _plugin_selector = new PluginSelector (PluginManager::the_manager()); - _plugin_selector->set_session (session); - } return _plugin_selector; }