[kde-freebsd] Amarok crashed

Matt datahead4 at gmail.com
Fri Apr 9 16:13:33 CEST 2010


2010/4/7 Alexey Serebryakoff <overlapped at gmail.com>:
> В сообщении от Вторник 06 апреля 2010 23:30:03 автор Bartosz Fabianowski
> написал:
>> Amarok 2.2 has always been a resource hog and extremely unstable on
>> FreeBSD for me. Updating to 2.3 fixed that.
>>
>> - Bartosz
>>
>
> Aha, I've updated Amarok from 2.2.2 to 2.3 then crash it again the same
> situation...
>
I doubt this will actually fix your problem since you were having
issues with Amarok 2.2.x as well, but there are two small patches from
the Amarok devs that haven't been integrated into the Area51 Amarok
2.3 port yet.  You could try to manually apply them and see if they
help at all.  Here they are inline.

diff --git a/src/context/applets/info/InfoApplet.cpp
b/src/context/applets/info/InfoApplet.cpp
index 166da4c..e415e98 100644
--- a/src/context/applets/info/InfoApplet.cpp
+++ b/src/context/applets/info/InfoApplet.cpp
@@ -40,18 +40,30 @@ QString InfoApplet::s_defaultHtml = "<html>"

 InfoApplet::InfoApplet( QObject* parent, const QVariantList& args )
     : Context::Applet( parent, args )
+    , m_webView( 0 )
     , m_initialized( false )
     , m_currentPlaylist( 0 )
+
 {
     setHasConfigurationInterface( false );
     setBackgroundHints( Plasma::Applet::NoBackground );
+}
+
+InfoApplet::~InfoApplet()
+{
+    delete m_webView;
+}
+
+
+void  InfoApplet::init()
+{

     dataEngine( "amarok-info" )->connectSource( "info", this );

     m_webView = new AmarokWebView( this );

     resize( 500, -1 );
-
+
     QPalette p = m_webView->palette();
     p.setColor( QPalette::Dark, QColor( 255, 255, 255, 0)  );
     p.setColor( QPalette::Window, QColor( 255, 255, 255, 0)  );
@@ -62,11 +74,6 @@ InfoApplet::InfoApplet( QObject* parent, const
QVariantList& args )
     constraintsEvent();
 }

-InfoApplet::~InfoApplet()
-{
-    delete m_webView;
-}
-
 void InfoApplet::constraintsEvent( Plasma::Constraints constraints )
 {
     Q_UNUSED( constraints )
diff --git a/src/context/applets/info/InfoApplet.h
b/src/context/applets/info/InfoApplet.h
index 4be28fc..775ea7c 100644
--- a/src/context/applets/info/InfoApplet.h
+++ b/src/context/applets/info/InfoApplet.h
@@ -48,6 +48,8 @@ public:
     InfoApplet( QObject* parent, const QVariantList& args );
     virtual ~InfoApplet();

+    void init();
+
     void paintInterface( QPainter *painter, const
QStyleOptionGraphicsItem *option, const QRect &contentsRect );
     void constraintsEvent( Plasma::Constraints constraints =
Plasma::AllConstraints );



diff --git a/src/EngineController.cpp b/src/EngineController.cpp
index 521e570..3d57dad 100644
--- a/src/EngineController.cpp
+++ b/src/EngineController.cpp
@@ -175,10 +175,14 @@ EngineController::initializePhonon()
    connect( m_controller, SIGNAL( titleChanged( int ) ), SLOT(
slotTitleChanged( int ) ) );


+    // Gapless Playback is temporarily disabled. Reason: Trying to
find a bug in this code that makes
+    // the EngineController stop after each track, with all Phonon
backends except the xine backend.
+#if 0
    if( AmarokConfig::trackDelayLength() > -1 )
        m_media->setTransitionTime( AmarokConfig::trackDelayLength()
); // Also Handles gapless.
    else if( AmarokConfig::crossfadeLength() > 0 )  // TODO: Handle
the possible options on when to crossfade.. the values are not
documented anywhere however
        m_media->setTransitionTime( -AmarokConfig::crossfadeLength() );
+#endif
 }


@@ -721,8 +725,10 @@ EngineController::setNextTrack( Meta::TrackPtr track )
        m_nextTrack = track;
        m_nextUrl = track->playableUrl();
    }
-
-    play( track );
+    else
+    {
+        play( track );
+    }
 }

 Phonon::State


More information about the kde-freebsd mailing list