From c5dac101a0ecbf2872c00fa48b95f59ce39ef9cf Mon Sep 17 00:00:00 2001 From: Nikolay Tischenko Date: Tue, 21 Sep 2010 15:31:46 +0700 Subject: [PATCH] Fixed bug with order of queued tracks and prev-historied tracks --- src/player/player.cpp | 4 +++- src/player/player.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/player/player.cpp b/src/player/player.cpp index 577a4dc..0f11f9d 100644 --- a/src/player/player.cpp +++ b/src/player/player.cpp @@ -56,6 +56,8 @@ void Player::next() { _history.push(_current % count); if (!_queue.isEmpty()) { _current = _queue.dequeue(); + } else if (!_prev_history.isEmpty()) { + _current = _prev_history.pop(); } else { if (_random) { _current = (count + (qrand() + qrand() + qrand()) % count) % count; @@ -82,7 +84,7 @@ void Player::_set_source() { void Player::prev() { if (_history.count() > 0) { - _queue.push_front(_current); + _prev_history.push(_current); _current = _history.pop(); _track = _playlist.tracks().at(_current); } diff --git a/src/player/player.h b/src/player/player.h index e381838..a2fdbf7 100644 --- a/src/player/player.h +++ b/src/player/player.h @@ -60,6 +60,7 @@ namespace SomePlayer { bool _repeat; QStack _history; QQueue _queue; + QStack _prev_history; Playlist _playlist; Phonon::MediaObject *_player; Phonon::AudioOutput *_output; -- 1.7.9.5