If I understood the docs properly, KSharedPtr seems to be deprecated, and QExplicitlySharedDataPointer is closest alternative for it. If so, it should be ported over this new API, or at least over some other class.
I have done some basic conversion to it, though I don’t have enough clear grasp of this code so I’m not sure I’ve been doing it correctly; I’m treating this as an opportunity to get better understanding of these pointer classes and Amarok’s code base in general.
..
Okay, I’m not able to do proper review request here, the web UI doesn’t take git style patches and the CLI tool requires PHP so it doesn’t work for me... If anyone is interested in reviewing this, the commits can be found from here:
http://p.smar.fi/6941a98c53e6e752540609abd87e5609d84cadd6
There is a few extra bits I’ve done for cleanup, but main portion is conversion from KSharedPtr to QExplicitSharedDataPointer. Since this is really big change, there well may be something hideous that has broken, I’m going to test this locally here and build other changes (I guess I’ll look to that Plasma applet thing next) on top of this, to see if there is anything strange going on.
Actually there is few mistakes in above commit, I’ll do new version of it later.