prevent too-wide program change flags at startup

git-svn-id: svn://localhost/ardour2/branches/3.0@12678 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2012-06-12 18:02:03 +00:00
parent 9c986098a2
commit 3b04885cb7

View File

@ -265,8 +265,6 @@ MidiRegionView::init (Gdk::Color const & basic_color, bool wfd)
region_resized (ARDOUR::bounds_change);
region_locked ();
reset_width_dependent_items (_pixel_width);
set_colors ();
_enable_display = true;
@ -276,6 +274,8 @@ MidiRegionView::init (Gdk::Color const & basic_color, bool wfd)
}
}
reset_width_dependent_items (_pixel_width);
group->raise_to_top();
group->signal_event().connect(
sigc::mem_fun(this, &MidiRegionView::canvas_event), false);
@ -1807,11 +1807,15 @@ MidiRegionView::add_canvas_patch_change (MidiModel::PatchChangePtr patch, const
active_channel)
);
// Show unless patch change is beyond the region bounds
if (region_frames < 0 || region_frames >= _region->length()) {
patch_change->hide();
if (patch_change->width() < _pixel_width) {
// Show unless patch change is beyond the region bounds
if (region_frames < 0 || region_frames >= _region->length()) {
patch_change->hide();
} else {
patch_change->show();
}
} else {
patch_change->show();
patch_change->hide ();
}
_patch_changes.push_back (patch_change);