do not add master to Mixer_UI's TreeModel - explicitly pack it and never unpack it

This commit is contained in:
Paul Davis 2016-06-10 14:44:57 -04:00
parent 3127eeb97d
commit fbc51c03ef

View file

@ -587,13 +587,14 @@ Mixer_UI::add_stripables (StripableList& slist)
strip->set_width_enum (_strip_width, this);
}
show_strip (strip);
if (!route->is_master()) {
TreeModel::Row row = *(track_model->insert (insert_iter));
row[stripable_columns.text] = route->name();
row[stripable_columns.visible] = route->is_master() ? true : strip->marked_for_display();
row[stripable_columns.visible] = strip->marked_for_display();
row[stripable_columns.stripable] = route;
row[stripable_columns.strip] = strip;
@ -601,6 +602,12 @@ Mixer_UI::add_stripables (StripableList& slist)
_selection.add (strip);
}
} else {
out_packer.pack_start (*strip, false, false);
strip->set_packed (true);
}
strip->WidthChanged.connect (sigc::mem_fun(*this, &Mixer_UI::strip_width_changed));
strip->signal_button_release_event().connect (sigc::bind (sigc::mem_fun(*this, &Mixer_UI::strip_button_release_event), strip));
}
@ -1328,21 +1335,9 @@ Mixer_UI::redisplay_track_list ()
if (visible) {
if (strip->packed()) {
if (stripable->is_master() || stripable->is_monitor()) {
out_packer.reorder_child (*strip, -1);
} else {
strip_packer.reorder_child (*strip, -1); /* put at end */
}
} else {
if (stripable->is_master() || stripable->is_monitor()) {
out_packer.pack_start (*strip, false, false);
} else {
strip_packer.pack_start (*strip, false, false);
}
strip->set_packed (true);
}