[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/multimedia/amarok/src/engine/xine
From:       Mark Kretschmann <markey () web ! de>
Date:       2006-09-19 16:20:36
Message-ID: 1158682836.420658.28948.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 586440 by markey:

Regression fix: With fadeout enabled, context browser would no longer switch back to idle view after \
pressing stop. This was because the browser was accessing Engine::state(), which still returned Playing.

CCBUG: 127316


 M  +5 -2      xine-engine.cpp  


--- trunk/extragear/multimedia/amarok/src/engine/xine/xine-engine.cpp #586439:586440
@@ -392,7 +392,7 @@
 Engine::State
 XineEngine::state() const
 {
-    if ( !m_stream )
+    if ( !m_stream || m_fadeOutRunning )
        return Engine::Empty;
 
     switch( xine_get_status( m_stream ) )
@@ -486,9 +486,12 @@
 {
     if( m_fadeOutRunning ) //Let us not start another fadeout...
         return;
+
     m_fadeOutRunning = !m_fadeOutRunning;
+    const bool isPlaying = m_stream && ( xine_get_status( m_stream ) == XINE_STATUS_PLAY );
+
     // NOTE The fadeout gets stuck when the EQ is active, so we skip it then
-    if( m_xfadeLength > 0 && !m_equalizerEnabled && m_stream && state() == Engine::Playing )
+    if( m_xfadeLength > 0 && !m_equalizerEnabled && isPlaying )
     {
         // fader-class doesn't work in this spot as is, so some parts need to be copied here... (ugly)
         uint stepsCount = m_xfadeLength < 1000 ? m_xfadeLength / 10 : 100;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic