aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Input/flac/decoder_flac.cpp3
-rw-r--r--src/plugins/Input/mad/decoder_mad.cpp2
-rw-r--r--src/ui/positionbar.cpp2
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);