diff --git a/src/browser.cpp b/src/browser.cpp index f9429686..57da6bfa 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 cad27e4f..3dfcd678 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 720429a6..47661428 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 ad099737..c22870c2 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