# # Description: Fix CD TitleChanged # Forwarded: No # Bug: N/A # Author: lmenut@mandriva.org # --- src/EngineController.cpp~ 2010-04-15 23:57:09.000000000 +0200 +++ src/EngineController.cpp 2010-04-27 09:29:16.000000000 +0200 @@ -76,6 +76,7 @@ EngineController::EngineController() : m_playWhenFetched( true ) , m_fadeoutTimer( new QTimer( this ) ) + , m_currentCDtrack( 1 ) , m_volume( 0 ) , m_currentIsAudioCd( false ) , m_ignoreVolumeChangeAction ( false ) @@ -434,7 +435,7 @@ // return; - int trackNumber = parts.at( 1 ).toInt(); + m_currentCDtrack = parts.at( 1 ).toInt(); debug() << "3.2.1..."; @@ -446,7 +447,7 @@ } debug() << "boom?"; - m_controller->setCurrentTitle( trackNumber ); + m_controller->setCurrentTitle( m_currentCDtrack ); debug() << "no boom?"; if( type == Phonon::MediaSource::Disc ) @@ -1234,9 +1235,9 @@ void EngineController::slotTitleChanged( int titleNumber ) { DEBUG_BLOCK - Q_UNUSED( titleNumber ); - slotAboutToFinish(); + if( titleNumber != m_currentCDtrack ) + slotAboutToFinish(); } void EngineController::slotVolumeChanged( qreal newVolume ) --- src/EngineController.h~ 2010-04-15 23:57:09.000000000 +0200 +++ src/EngineController.h 2010-04-27 09:30:08.000000000 +0200 @@ -369,6 +369,7 @@ QPointer<Capabilities::MultiSourceCapability> m_multiSource; bool m_playWhenFetched; QTimer* m_fadeoutTimer; + int m_currentCDtrack; int m_volume; bool m_currentIsAudioCd;