From 92d74d4a78783f47c25dbea29bb361deee268cd4 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 10 Mar 2009 18:04:09 +0100 Subject: player_thread: finish failed seek command When seeking into a new song, and the decoder for the new song fails to start up, MPD forgot to send the "command_finished" signal to the main thread. --- src/player_thread.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/player_thread.c b/src/player_thread.c index bc10793a6..fc4623c3f 100644 --- a/src/player_thread.c +++ b/src/player_thread.c @@ -226,6 +226,8 @@ static bool player_seek_decoder(struct player *player) double where; bool ret; + assert(pc.next_song != NULL); + if (decoder_current_song() != pc.next_song) { player_dc_stop(player); @@ -234,8 +236,10 @@ static bool player_seek_decoder(struct player *player) dc_start_async(pc.next_song); ret = player_wait_for_decoder(player); - if (!ret) + if (!ret) { + player_command_finished(); return false; + } } else { pc.next_song = NULL; player->queued = false; -- cgit v1.2.3