Fix for outstanding collection browser bug

Nanno Langstraat langstr at gmail.com
Thu Aug 5 21:46:28 CEST 2010


On 2010-08-05 20:43, Ralf Engels wrote:
> It seems like I found the reason for at least some of the effects in
> https://bugs.kde.org/show_bug.cgi?id=172542
>
> After handling the row moved signal in GroupingProxy everything seems to
> work.
>
> Here is the diff. It would be nice if somebody would integrate it.
>    

----
A) +1 for this patch, it seems OK.


----
B) Mystery #1:

That 'rowsMoved' QAbstractItemModel signal is new in Qt 4.6.

It's a somewhat-non-backward-compatible API change by Qt. By itself, it 
would break Qt 4.5-and-earlier QAbstractItemModel-based code.

To work around that API breakage, Qt decided to also emit a 
'layoutChanged' with every 'rowsMoved' signal. From Qt's documentation:


          void QAbstractItemModel::endMoveRows ()

    [...]
    layoutChanged is emitted by this method for compatibility reasons.

    This function was introduced in Qt 4.6.


GroupingProxy already properly handles the 'layoutChanged' signal.

So, riddle: why didn't that fallback mechanism work the way Qt planned it?


----
C) Mystery #2: The linked bug report is about the Collection Browser. 
This patch is for the Playlist.

To the best of my knowledge these two parts of Amarok have almost 
nothing to do with each other.

??


----
D) I won't commit the patch; lost my access in the recent git rehosting.

(I'm semi-retired from Amarok due to differences over the bugfixing 
culture, but that's a different discussion)


     Regards,
     Nanno

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/amarok-devel/attachments/20100805/35eb1f48/attachment-0001.htm 


More information about the Amarok-devel mailing list