From 3a4e667078e13f27b3d196d3b3a56f1f39be2c75 Mon Sep 17 00:00:00 2001 From: Weng Xuetian Date: Wed, 9 Apr 2014 23:10:14 +0200 Subject: PlaylistEdit: don't interrupt playback when current song gets deleted --- src/PlaylistEdit.cxx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/PlaylistEdit.cxx') diff --git a/src/PlaylistEdit.cxx b/src/PlaylistEdit.cxx index 668612a1a..3eea2491e 100644 --- a/src/PlaylistEdit.cxx +++ b/src/PlaylistEdit.cxx @@ -234,12 +234,8 @@ playlist::DeleteInternal(PlayerControl &pc, if (playing && current == (int)songOrder) { const bool paused = pc.GetState() == PlayerState::PAUSE; - /* the current song is going to be deleted: stop the player */ - - pc.Stop(); - playing = false; - - /* see which song is going to be played instead */ + /* the current song is going to be deleted: see which + song is going to be played instead */ current = queue.GetNextOrder(current); if (current == (int)songOrder) @@ -248,10 +244,12 @@ playlist::DeleteInternal(PlayerControl &pc, if (current >= 0 && !paused) /* play the song after the deleted one */ PlayOrder(pc, current); - else - /* no songs left to play, stop playback - completely */ - Stop(pc); + else { + /* stop the player */ + + pc.Stop(); + playing = false; + } *queued_p = nullptr; } else if (current == (int)songOrder) -- cgit v1.2.3