summaryrefslogtreecommitdiff
path: root/gtk2_ardour/audio_region_view.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-09-06 12:56:50 +0200
committerRobin Gareus <robin@gareus.org>2015-09-06 12:56:50 +0200
commit1aa4c62abeb7b587dbdba368f1b7de326001dedf (patch)
tree78d694d04d88cc3baa76aaefaf4933c0c6d04db8 /gtk2_ardour/audio_region_view.cc
parente161bc0596b6cb8facdefc56435553f76ee643c3 (diff)
properly disconnect peak-ready connection
Diffstat (limited to 'gtk2_ardour/audio_region_view.cc')
-rw-r--r--gtk2_ardour/audio_region_view.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc
index bbee73c115..b0ca3ff8af 100644
--- a/gtk2_ardour/audio_region_view.cc
+++ b/gtk2_ardour/audio_region_view.cc
@@ -251,6 +251,7 @@ AudioRegionView::~AudioRegionView ()
for (vector<ScopedConnection*>::iterator i = _data_ready_connections.begin(); i != _data_ready_connections.end(); ++i) {
delete *i;
}
+ _data_ready_connections.clear ();
for (list<std::pair<framepos_t, ArdourCanvas::Line*> >::iterator i = feature_lines.begin(); i != feature_lines.end(); ++i) {
delete ((*i).second);
@@ -1210,10 +1211,11 @@ AudioRegionView::create_one_wave (uint32_t which, bool /*direct*/)
waves = tmp_waves;
tmp_waves.clear ();
- /* all waves created, don't hook into peaks ready anymore */
- delete _data_ready_connections[which];
- _data_ready_connections[which] = 0;
}
+
+ /* channel wave created, don't hook into peaks ready anymore */
+ delete _data_ready_connections[which];
+ _data_ready_connections[which] = 0;
}
void