diff options
| -rw-r--r-- | src/plugins/Input/flac/decoder_flac.cpp | 3 | ||||
| -rw-r--r-- | src/plugins/Input/mad/decoder_mad.cpp | 2 | ||||
| -rw-r--r-- | src/ui/positionbar.cpp | 2 |
3 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/Input/flac/decoder_flac.cpp b/src/plugins/Input/flac/decoder_flac.cpp index 3f2935d6e..5bb2b6219 100644 --- a/src/plugins/Input/flac/decoder_flac.cpp +++ b/src/plugins/Input/flac/decoder_flac.cpp @@ -440,7 +440,8 @@ qint64 DecoderFLAC::lengthInSeconds() void DecoderFLAC::seek(qint64 pos) { - seekTime = pos; + if (totalTime > 0) + seekTime = pos; } diff --git a/src/plugins/Input/mad/decoder_mad.cpp b/src/plugins/Input/mad/decoder_mad.cpp index 74b7c124a..0eab8cfaa 100644 --- a/src/plugins/Input/mad/decoder_mad.cpp +++ b/src/plugins/Input/mad/decoder_mad.cpp @@ -408,7 +408,7 @@ void DecoderMAD::run() { mutex()->lock(); - if (seekTime >= 0.0) + if (seekTime >= 0.0 && totalTime > 0) { long seek_pos = long(seekTime * input()->size() / totalTime); input()->seek(seek_pos); diff --git a/src/ui/positionbar.cpp b/src/ui/positionbar.cpp index 08a612fcb..d2c72261e 100644 --- a/src/ui/positionbar.cpp +++ b/src/ui/positionbar.cpp @@ -89,7 +89,7 @@ void PositionBar::mouseReleaseEvent(QMouseEvent*) { m_moving = FALSE; draw(FALSE); - if (m_value!=m_old) + if (m_value!=m_old && m_max > 0) { m_old = m_value; mw->seek(m_value); |
