summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/ardour_ui.cc4
-rw-r--r--gtk2_ardour/audio_streamview.cc3
-rw-r--r--gtk2_ardour/editor_route_list.cc6
-rw-r--r--gtk2_ardour/sfdb_ui.cc26
-rw-r--r--libs/pbd/pbd/abstract_ui.cc1
5 files changed, 25 insertions, 15 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index d8e7ae53cb..aa302d4149 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -410,6 +410,10 @@ ARDOUR_UI::~ARDOUR_UI ()
if (new_session_dialog) {
delete new_session_dialog;
}
+
+ if (splash) {
+ delete splash;
+ }
}
void
diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc
index 6e53ae815c..8d3bae9610 100644
--- a/gtk2_ardour/audio_streamview.cc
+++ b/gtk2_ardour/audio_streamview.cc
@@ -72,6 +72,9 @@ AudioStreamView::AudioStreamView (AudioTimeAxisView& tv)
AudioStreamView::~AudioStreamView ()
{
+ for (CrossfadeViewList::iterator xi = crossfade_views.begin(); xi != crossfade_views.end(); ++xi) {
+ delete xi->second;
+ }
}
int
diff --git a/gtk2_ardour/editor_route_list.cc b/gtk2_ardour/editor_route_list.cc
index d73c8176ea..3eaa4ac174 100644
--- a/gtk2_ardour/editor_route_list.cc
+++ b/gtk2_ardour/editor_route_list.cc
@@ -133,8 +133,10 @@ Editor::remove_route (TimeAxisView *tv)
boost::shared_ptr<Route> route;
TimeAxisView* next_tv = 0;
- if (tv == entered_track) {
- entered_track = 0;
+ if (entered_track) {
+ if (tv == entered_track || tv == entered_track->get_parent()) {
+ entered_track = 0;
+ }
}
/* the core model has changed, there is no need to sync
diff --git a/gtk2_ardour/sfdb_ui.cc b/gtk2_ardour/sfdb_ui.cc
index 10648c3d24..fa2d50afc6 100644
--- a/gtk2_ardour/sfdb_ui.cc
+++ b/gtk2_ardour/sfdb_ui.cc
@@ -1074,22 +1074,22 @@ SoundFileOmega::check_info (const vector<string>& paths, bool& same_size, bool&
if (!AudioFileSource::get_soundfile_info (*i, info, errmsg)) {
err = true;
- }
-
- if (info.channels > 1) {
- multichannel = true;
- }
-
- if (sz == 0) {
- sz = info.length;
} else {
- if (sz != info.length) {
- same_size = false;
+ if (info.channels > 1) {
+ multichannel = true;
+ }
+
+ if (sz == 0) {
+ sz = info.length;
+ } else {
+ if (sz != info.length) {
+ same_size = false;
+ }
}
- }
- if ((nframes_t) info.samplerate != session->frame_rate()) {
- src_needed = true;
+ if ((nframes_t) info.samplerate != session->frame_rate()) {
+ src_needed = true;
+ }
}
}
diff --git a/libs/pbd/pbd/abstract_ui.cc b/libs/pbd/pbd/abstract_ui.cc
index 24760fb5a1..02b5a234f2 100644
--- a/libs/pbd/pbd/abstract_ui.cc
+++ b/libs/pbd/pbd/abstract_ui.cc
@@ -73,6 +73,7 @@ AbstractUI<RequestObject>::unregister_thread (pthread_t thread_id)
Glib::Mutex::Lock lm (request_buffer_map_lock);
typename RequestBufferMap::iterator x = request_buffers.find (thread_id);
if (x != request_buffers.end()) {
+ delete (*x).second;
request_buffers.erase (x);
}
}