diff options
author | David Robillard <d@drobilla.net> | 2006-09-19 03:29:16 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-09-19 03:29:16 +0000 |
commit | 7bd41538d951c3e476655df741adfbebbb990bde (patch) | |
tree | f9988f959571c75535341ab1de463b7cfc5209e3 /gtk2_ardour/midi_streamview.cc | |
parent | c7307c09b8584b15610f0b29a40f839d9183419a (diff) |
Merged with trunk R920.
git-svn-id: svn://localhost/ardour2/branches/midi@921 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_streamview.cc')
-rw-r--r-- | gtk2_ardour/midi_streamview.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc index 94d2a397cf..d718cc9802 100644 --- a/gtk2_ardour/midi_streamview.cc +++ b/gtk2_ardour/midi_streamview.cc @@ -183,8 +183,8 @@ MidiStreamView::setup_rec_box () assert(region); region->set_position (_trackview.session().transport_frame(), this); rec_regions.push_back (region); - /* catch it if it goes away */ - region->GoingAway.connect (bind (mem_fun (*this, &MidiStreamView::remove_rec_region), region)); + + // rec regions are destroyed in setup_rec_box /* we add the region later */ } @@ -252,6 +252,15 @@ MidiStreamView::setup_rec_box () last_rec_data_frame = 0; /* remove temp regions */ + + for (list<boost::shared_ptr<Region> >::iterator iter = rec_regions.begin(); iter != rec_regions.end();) { + list<boost::shared_ptr<Region> >::iterator tmp; + tmp = iter; + ++tmp; + (*iter)->drop_references (); + iter = tmp; + } + rec_regions.clear(); // cerr << "\tclear " << rec_rects.size() << " rec rects\n"; |