summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_streamview.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-09-19 03:29:16 +0000
committerDavid Robillard <d@drobilla.net>2006-09-19 03:29:16 +0000
commit7bd41538d951c3e476655df741adfbebbb990bde (patch)
treef9988f959571c75535341ab1de463b7cfc5209e3 /gtk2_ardour/midi_streamview.cc
parentc7307c09b8584b15610f0b29a40f839d9183419a (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.cc13
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";