From 4fc7c6415bbc31b619948f87978de045ab23c47b Mon Sep 17 00:00:00 2001 From: Jeff Mitchell Date: Sun, 28 Aug 2011 16:47:14 -0400 Subject: [PATCH] Fix seeker getting "stuck" if it goes ahead on some tracks --- src/audiocontrols.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/audiocontrols.cpp b/src/audiocontrols.cpp index 6213ca6ed..604c27833 100644 --- a/src/audiocontrols.cpp +++ b/src/audiocontrols.cpp @@ -333,7 +333,7 @@ AudioControls::onPlaybackResumed() void AudioControls::onPlaybackSeeked( qint64 msec ) { - //tDebug( LOGEXTRA ) << Q_FUNC_INFO << " setting current timer to " << msec; + tDebug( LOGEXTRA ) << Q_FUNC_INFO << " setting current timer to " << msec; m_sliderTimeLine.setPaused( true ); m_sliderTimeLine.setCurrentTime( msec ); m_seekMsecs = msec; @@ -375,12 +375,13 @@ AudioControls::onPlaybackTimer( qint64 msElapsed ) ui->timeLabel->setText( TomahawkUtils::timeToString( seconds ) ); ui->timeLeftLabel->setText( "-" + TomahawkUtils::timeToString( m_currentTrack->duration() - seconds ) ); - if ( m_sliderTimeLine.currentTime() > msElapsed || ( m_seekMsecs != -1 && m_sliderTimeLine.currentTime() < msElapsed ) ) + if ( m_sliderTimeLine.currentTime() > msElapsed || m_seekMsecs != -1 ) { m_sliderTimeLine.setPaused( true ); m_sliderTimeLine.setCurrentTime( msElapsed ); m_seekMsecs = -1; - m_sliderTimeLine.resume(); + if ( AudioEngine::instance()->state() != AudioEngine::Paused ) + m_sliderTimeLine.resume(); } else if ( m_sliderTimeLine.duration() > msElapsed && m_sliderTimeLine.state() == QTimeLine::NotRunning ) {