Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > main-release-src > by-pkgid > 9058334419fb2adfd2bb0204434f0244 > files > 3

amarok-2.3.1-1mdv2010.1.src.rpm

#
# 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;