playlist subsystem overhaul

Nikolaj Hald Nielsen nhnfreespirit at gmail.com
Tue Oct 7 14:54:48 CEST 2008


> Does it happen to be a fix for the "crash when all items are removed from the
> model" bug?  Because that's the one I'm trying to fix before committing the code,
> and I still haven't quite found it.

No, I was actually looking into that. The issue is quite clearly that
the list view is still trying to paint all items, but since the
groupmode list hsa been emptied, any attempt at gettinga  value from
it will cause an assert

try adding

    if ( m_rowGroupMode.isEmpty() )
        return QVariant();

to the top of

PMGroupingProxy::data(const QModelIndex& index, int role) const {

it will look really stupid, but show you quite clearly what the issue is.


The one I did fix was a crash on startup if there is no playlist. It
was the result of the function

Model::setActiveRow( int row )

trying to use the -1 value to get an item ( when there is none )

adding:

    if ( row == -1 ) {
        m_activeRow = -1;
        return;
    }

to the start of that function fixed that


You should really join us on #amarok.dev on irc.freenode.net

- Nikolaj


More information about the Amarok-devel mailing list