diff options
author | Max Kellermann <max@musicpd.org> | 2017-10-17 19:44:16 +0200 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2017-10-18 09:05:47 +0200 |
commit | 91254e9211f6fa9864dd8f2d2bb7b43cccf7cb77 (patch) | |
tree | 1dbadafe98dd29036a50e5669523bf2fa383d1c0 /NEWS | |
parent | 0f79287b04602ce92cb86c056f78d5f70ab71d42 (diff) |
queue/PlaylistControl: keep order list consistency in MoveOrderToCurrent()
Our previous use of Queue::SwapOrders() could cause surprising
results:
- sometimes, the old "current" song would be played again (if the
newly selected song had not been played already)
- sometimes, the old "current" song would not be played again (if the
newly selected song had already been played)
This is inconsistent, because it should not depend on whether the
newly selected song had already been played.
So instead of Queue::SwapOrders() we now use Queue::MoveOrderAfter()
and Queue::MoveOrderBefore(), which is more expensive, but also more
consistent. It attempts to retain as much from the previous order
list as possible, and only moves the newly selected song around.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -4,6 +4,7 @@ ver 0.20.11 (not yet released) * decoder - ffmpeg: more reliable song duration - gme: fix track numbering +* improve random song order when switching songs manually * fix case insensitive search without libicu * fix endless loop when accessing malformed file names in ZIP files |