extragear/multimedia/amarok/src

Maximilian Kossick maximilian.kossick at googlemail.com
Tue Dec 16 09:21:29 CET 2008


On Mon, Dec 15, 2008 at 6:35 PM, Mark Kretschmann <kretschmann at kde.org> wrote:
> On Mon, Dec 15, 2008 at 5:10 PM, Dan Meltzer
> <parallelgrapefruit at gmail.com> wrote:
>> On Mon, Dec 15, 2008 at 4:06 AM, Mark Kretschmann <kretschmann at kde.org> wrote:
>>> SVN commit 897071 by markey:
>>>
>>> When reaching the end of the playlist, make Amarok actually show that
>>> playback has stopped. Until now it happily continued to display "Playing
>>> Foo by Bar.."
>>>
>>> As usual with all changes to EngineController, this patch could have
>>> subtle side effects, so please keep testing extensively.
>>
>> Without poking my head into EngineController.cpp ... Won't this change
>> prevent the last tracks statistics from updating? I'm not sure how
>> this change fixes the issue....
>
> This remains to be tested. The problem was that
> "m_currentTrack->finishedPlaying( 1.0 )" initiated a long chain of
> things it shouldn't have been doing.

This is not correct. finishedPlaying updates the tracks's metadata,
and therefore requires it to notify the observers. The problem is
probably in EngineController itself, in particular these rows:

emit trackFinished();
m_currentTrack->finishedPlaying( 1.0 );
m_currentTrack = 0;

I think the correct fix is to move emit trackFinished() after
m_currentTrack. Then anything that updates the GUI to show the current
track will try to retrieve the current track, which is 0, which means
that Amarok isn't playing anything at the moment.

> --
> Mark Kretschmann
> Amarok Developer
> www.kde.org - amarok.kde.org
>


More information about the Amarok-devel mailing list