From e7b818e57e8c07989d3b08d50716181c9d467f45 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Thu, 15 Nov 2012 17:11:04 +0100 Subject: [PATCH] * Fixed AudioEngine crashing when GStreamer goes to its weird Paused state. --- src/libtomahawk/audio/AudioEngine.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/audio/AudioEngine.cpp b/src/libtomahawk/audio/AudioEngine.cpp index 575206ca9..0a51299a3 100644 --- a/src/libtomahawk/audio/AudioEngine.cpp +++ b/src/libtomahawk/audio/AudioEngine.cpp @@ -734,8 +734,14 @@ AudioEngine::onStateChanged( Phonon::State newState, Phonon::State oldState ) { case Phonon::PausedState: { - qint64 duration = m_mediaObject->totalTime() > 0 ? m_mediaObject->totalTime() : m_currentTrack->duration() * 1000; - stopped = ( duration - 1000 < m_mediaObject->currentTime() ); + if ( m_mediaObject && m_currentTrack ) + { + qint64 duration = m_mediaObject->totalTime() > 0 ? m_mediaObject->totalTime() : m_currentTrack->duration() * 1000; + stopped = ( duration - 1000 < m_mediaObject->currentTime() ); + } + else + stopped = true; + if ( !stopped ) setState( Paused );