queue/PlaylistControl: fix crash after seek failure
This completes the bug fix commit 2065e3290452377b2931f3129b230c8cc536cbc8; if we clear "queued" then we must clear "queued_song" as well, or another variant of the assertion fails.
This commit is contained in:
parent
e3e90b4b93
commit
cab77e35e0
1
NEWS
1
NEWS
|
@ -1,4 +1,5 @@
|
|||
ver 0.20.15 (not yet released)
|
||||
* queue: fix crash after seek failure
|
||||
* resampler
|
||||
- soxr: clear internal state after manual song change
|
||||
* state file
|
||||
|
|
|
@ -212,8 +212,6 @@ playlist::SeekSongOrder(PlayerControl &pc, unsigned i, SongTime seek_time)
|
|||
{
|
||||
assert(queue.IsValidOrder(i));
|
||||
|
||||
const DetachedSong *queued_song = GetQueuedSong();
|
||||
|
||||
pc.LockClearError();
|
||||
stop_on_error = true;
|
||||
error_count = 0;
|
||||
|
@ -226,8 +224,6 @@ playlist::SeekSongOrder(PlayerControl &pc, unsigned i, SongTime seek_time)
|
|||
|
||||
playing = true;
|
||||
current = i;
|
||||
|
||||
queued_song = nullptr;
|
||||
}
|
||||
|
||||
queued = -1;
|
||||
|
@ -235,7 +231,7 @@ playlist::SeekSongOrder(PlayerControl &pc, unsigned i, SongTime seek_time)
|
|||
try {
|
||||
pc.LockSeek(new DetachedSong(queue.GetOrder(i)), seek_time);
|
||||
} catch (...) {
|
||||
UpdateQueuedSong(pc, queued_song);
|
||||
UpdateQueuedSong(pc, nullptr);
|
||||
throw;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue