diff --git a/src/libtomahawk/audio/audioengine.cpp b/src/libtomahawk/audio/audioengine.cpp index 49a55ca14..77a632e7e 100644 --- a/src/libtomahawk/audio/audioengine.cpp +++ b/src/libtomahawk/audio/audioengine.cpp @@ -212,7 +212,7 @@ AudioEngine::next() return; if ( !m_currentTrack.isNull() && !m_playlist.data()->hasNextItem() && - m_currentTrack->id() == m_playlist.data()->currentItem()->id() ) + ( m_playlist.data()->currentItem().isNull() || ( m_currentTrack->id() == m_playlist.data()->currentItem()->id() ) ) ) { //For instance, when doing a catch-up while listening along, but the person //you're following hasn't started a new track yet...don't do anything diff --git a/src/libtomahawk/playlist/trackproxymodel.cpp b/src/libtomahawk/playlist/trackproxymodel.cpp index 34e270487..db02960af 100644 --- a/src/libtomahawk/playlist/trackproxymodel.cpp +++ b/src/libtomahawk/playlist/trackproxymodel.cpp @@ -177,7 +177,7 @@ Tomahawk::result_ptr TrackProxyModel::currentItem() const { TrackModelItem* item = itemFromIndex( mapToSource( currentIndex() ) ); - if ( item && item->query()->playable() ) + if ( item && !item->query().isNull() && item->query()->playable() ) return item->query()->results().at( 0 ); return Tomahawk::result_ptr(); }