summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--src/queue/Queue.cxx7
2 files changed, 6 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 28ba89c4d..4fcedd287 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,6 @@
ver 0.19.20 (not yet released)
+* protocol
+ - "setprio" re-enqueues old song if priority has been raised
* decoder
- ffmpeg: ignore empty packets
- pcm: fix corruption bug with partial frames (after short read)
diff --git a/src/queue/Queue.cxx b/src/queue/Queue.cxx
index 99b545ab1..2011b2c13 100644
--- a/src/queue/Queue.cxx
+++ b/src/queue/Queue.cxx
@@ -426,14 +426,15 @@ Queue::SetPriority(unsigned position, uint8_t priority, int after_order)
if (_order < (unsigned)after_order) {
/* the specified song has been played already
- - enqueue it only if its priority has just
- become bigger than the current one's */
+ - enqueue it only if its priority has been
+ increased and is now bigger than the
+ current one's */
const unsigned after_position =
OrderToPosition(after_order);
const Item *after_item =
&items[after_position];
- if (old_priority > after_item->priority ||
+ if (priority <= old_priority ||
priority <= after_item->priority)
/* priority hasn't become bigger */
return true;