Skip to content
  • Matěj Laitl's avatar
    EngineController: don't do serious work in slotAboutToFinish() · e1d2ea6c
    Matěj Laitl authored
    ...because slotAboutToFinish() may be called twice (or not at all) per
    track by some Phonon backends (hi, vlc) - increase play count rather in
    slotNewTrackPlaying() or in slotFinished(). This also needs to change
    how m_currentTrack is handled, because slotNewTrackPlaying() needs to
    have the old one in m_currentTrack.
    
    Also, PlaylistActions::requestNextTrack() is changed to be a read-only
    method that shouldn't change playlist state especially when there is no
    next track. PlaylistActions::reflectPlaybackFinished() is introduced to
    do the thing and is called from EngineController::slotFinished(), which
    is a much better place for it than slotAboutToFinish().
    
    Reporters of CCed bugs, please re-test your bug with this commit
    applied, it is possible it has been resolved by this patch.
    
    BUG: 299890
    CCBUG: 268892
    CCBUG: 277197
    CCBUG: 302652
    CCBUG: 303580
    CCBUG: 302240
    FIXED-IN: 2.6
    e1d2ea6c