diff options
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/audio_streamview.cc | 3 | ||||
-rw-r--r-- | gtk2_ardour/editor_route_list.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/sfdb_ui.cc | 26 | ||||
-rw-r--r-- | libs/pbd/pbd/abstract_ui.cc | 1 |
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); } } |