mpd: do not rely on idle event itself in case of playlist change

This commit is contained in:
Andrzej Rybczak
2010-08-18 18:23:54 +02:00
parent c0e558f04b
commit e0eff99175

View File

@@ -250,7 +250,6 @@ void MPD::Connection::UpdateStatus()
{ {
if (idle_mask != 0) if (idle_mask != 0)
{ {
itsChanges.Playlist = idle_mask & MPD_IDLE_QUEUE;
itsChanges.Database = idle_mask & MPD_IDLE_DATABASE; itsChanges.Database = idle_mask & MPD_IDLE_DATABASE;
itsChanges.DBUpdating = idle_mask & MPD_IDLE_UPDATE; itsChanges.DBUpdating = idle_mask & MPD_IDLE_UPDATE;
itsChanges.Volume = idle_mask & MPD_IDLE_MIXER; itsChanges.Volume = idle_mask & MPD_IDLE_MIXER;
@@ -259,9 +258,6 @@ void MPD::Connection::UpdateStatus()
} }
else else
{ {
itsChanges.Playlist = mpd_status_get_queue_version(itsOldStatus)
!= mpd_status_get_queue_version(itsCurrentStatus);
itsChanges.ElapsedTime = mpd_status_get_elapsed_time(itsOldStatus) itsChanges.ElapsedTime = mpd_status_get_elapsed_time(itsOldStatus)
!= mpd_status_get_elapsed_time(itsCurrentStatus); != mpd_status_get_elapsed_time(itsCurrentStatus);
@@ -286,6 +282,9 @@ void MPD::Connection::UpdateStatus()
itsChanges.Outputs = 0; itsChanges.Outputs = 0;
} }
itsChanges.Playlist = mpd_status_get_queue_version(itsOldStatus)
!= mpd_status_get_queue_version(itsCurrentStatus);
itsChanges.SongID = mpd_status_get_song_id(itsOldStatus) itsChanges.SongID = mpd_status_get_song_id(itsOldStatus)
!= mpd_status_get_song_id(itsCurrentStatus); != mpd_status_get_song_id(itsCurrentStatus);