From 2583487ffb3a4b235e8ef8f777372836a9a28682 Mon Sep 17 00:00:00 2001 From: Andrzej Rybczak Date: Thu, 25 Mar 2010 00:51:56 +0100 Subject: [PATCH] check for emptiness in some more places these containers can be empty escpecially if one wants to go for a trip around ncmpcpp screens while connection to mpd is lost. this is highly unlikely to happen, but should be secured anyway. --- src/browser.cpp | 2 ++ src/playlist.cpp | 2 ++ src/search_engine.cpp | 2 ++ src/tag_editor.cpp | 17 ++++++++++------- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/browser.cpp b/src/browser.cpp index f942968..57da6bf 100644 --- a/src/browser.cpp +++ b/src/browser.cpp @@ -254,6 +254,8 @@ void Browser::ReverseSelection() void Browser::GetSelectedSongs(MPD::SongList &v) { + if (w->Empty()) + return; std::vector selected; w->GetSelected(selected); if (selected.empty()) diff --git a/src/playlist.cpp b/src/playlist.cpp index cad27e4..3dfcd67 100644 --- a/src/playlist.cpp +++ b/src/playlist.cpp @@ -280,6 +280,8 @@ MPD::Song *Playlist::CurrentSong() void Playlist::GetSelectedSongs(MPD::SongList &v) { + if (myPlaylist->Items->Empty()) + return; std::vector selected; Items->GetSelected(selected); if (selected.empty()) diff --git a/src/search_engine.cpp b/src/search_engine.cpp index 720429a..4766142 100644 --- a/src/search_engine.cpp +++ b/src/search_engine.cpp @@ -233,6 +233,8 @@ MPD::Song *SearchEngine::CurrentSong() void SearchEngine::GetSelectedSongs(MPD::SongList &v) { + if (w->Empty()) + return; std::vector selected; w->GetSelected(selected); if (selected.empty() && w->Choice() >= StaticOptions) diff --git a/src/tag_editor.cpp b/src/tag_editor.cpp index ad09973..c22870c 100644 --- a/src/tag_editor.cpp +++ b/src/tag_editor.cpp @@ -285,14 +285,17 @@ void TagEditor::Update() MPD::SongList list; if (Config.albums_in_tag_editor) { - Mpd.StartSearch(1); - Mpd.AddSearch(MPD_TAG_ALBUM, Albums->Current().second); - Mpd.CommitSearch(list); - sort(list.begin(), list.end(), CaseInsensitiveSorting()); - for (MPD::SongList::iterator it = list.begin(); it != list.end(); ++it) + if (!Albums->Empty()) { - (*it)->Localize(); - Tags->AddOption(**it); + Mpd.StartSearch(1); + Mpd.AddSearch(MPD_TAG_ALBUM, Albums->Current().second); + Mpd.CommitSearch(list); + sort(list.begin(), list.end(), CaseInsensitiveSorting()); + for (MPD::SongList::iterator it = list.begin(); it != list.end(); ++it) + { + (*it)->Localize(); + Tags->AddOption(**it); + } } } else -- 2.11.4.GIT