diff --git a/src/libtomahawk/PlaylistInterface.cpp b/src/libtomahawk/PlaylistInterface.cpp index 15a1798e9..1dd1e73ef 100644 --- a/src/libtomahawk/PlaylistInterface.cpp +++ b/src/libtomahawk/PlaylistInterface.cpp @@ -184,35 +184,23 @@ PlaylistInterface::onItemsChanged() Tomahawk::result_ptr prevResult = siblingResult( -1, m_currentIndex ); Tomahawk::result_ptr nextResult = siblingResult( 1, m_currentIndex ); - if ( prevResult ) { - bool avail = prevResult->toQuery()->playable(); + bool avail = prevResult && prevResult->toQuery()->playable(); if ( avail != m_prevAvail ) { m_prevAvail = avail; - emit previousTrackAvailable(); + emit previousTrackAvailable( avail ); } } - else if ( m_prevAvail ) - { - m_prevAvail = false; - emit previousTrackAvailable(); - } - if ( nextResult ) { - bool avail = nextResult->toQuery()->playable(); + bool avail = nextResult && nextResult->toQuery()->playable(); if ( avail != m_nextAvail ) { m_nextAvail = avail; - emit nextTrackAvailable(); + emit nextTrackAvailable( avail ); } } - else if ( m_nextAvail ) - { - m_nextAvail = false; - emit nextTrackAvailable(); - } } diff --git a/src/libtomahawk/PlaylistInterface.h b/src/libtomahawk/PlaylistInterface.h index fd52aa56f..4cccd3224 100644 --- a/src/libtomahawk/PlaylistInterface.h +++ b/src/libtomahawk/PlaylistInterface.h @@ -96,8 +96,8 @@ signals: void shuffleModeChanged( bool enabled ); void latchModeChanged( Tomahawk::PlaylistModes::LatchMode mode ); - void previousTrackAvailable(); - void nextTrackAvailable(); + void previousTrackAvailable( bool available ); + void nextTrackAvailable( bool available ); void currentIndexChanged();