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.
This commit is contained in:
Andrzej Rybczak
2010-03-25 00:51:56 +01:00
parent 37c7acfd3c
commit 2583487ffb
4 changed files with 16 additions and 7 deletions

View File

@@ -254,6 +254,8 @@ void Browser::ReverseSelection()
void Browser::GetSelectedSongs(MPD::SongList &v)
{
if (w->Empty())
return;
std::vector<size_t> selected;
w->GetSelected(selected);
if (selected.empty())

View File

@@ -280,6 +280,8 @@ MPD::Song *Playlist::CurrentSong()
void Playlist::GetSelectedSongs(MPD::SongList &v)
{
if (myPlaylist->Items->Empty())
return;
std::vector<size_t> selected;
Items->GetSelected(selected);
if (selected.empty())

View File

@@ -233,6 +233,8 @@ MPD::Song *SearchEngine::CurrentSong()
void SearchEngine::GetSelectedSongs(MPD::SongList &v)
{
if (w->Empty())
return;
std::vector<size_t> selected;
w->GetSelected(selected);
if (selected.empty() && w->Choice() >= StaticOptions)

View File

@@ -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