Binary incompatibility issue in JuK saved data
Michael Pyne
mpyne at purinchu.net
Wed Jan 9 03:30:52 GMT 2008
On Tuesday 08 January 2008, Michael Pyne wrote:
> On Monday 07 January 2008, Michael Pyne wrote:
> > I can have the patch developed tomorrow (it's basically just adding
> > QDataStream::setVersion() calls and bumping the version JuK saves the
> > file under) but I just want to get the problem out there so people know.
>
> With no objections then, I will commit the patch I developed and then work
> on adding sanity-checking to give 4.0.0 playlists a shot at loading
> properly.
Some rudimentary sanity-checking has been added. Worked on my KDE 3.5 data
but then I had approximately 1083 files or so, so there was abundant
opportunity to coerce failure.
I tested it on a JuK 3.0 (the affected version) data set and it was also able
to load that (although without always failing when in KDE 3.5 mode. Perhaps
QDataStream changed less than I thought?)
As it turns out however, JuK 3.0 would also only save the playlists file once
due to a change in behavior in QDir. QDir::rename() does not overwrite
existing files anymore. A similar bug has already been fixed saving the
cache.
The covers database also uses QDataStream incorrectly. I will fix that as
well but will not try to import 4.0.0 covers if they fail.
The patch used for sanity checking is attached for review. It uses exceptions
(the way they were meant to be used even). I wanted to not change the
indenting at first to make the diff easier to read but the diff was too
intrusive anyways...
Regards,
- Michael Pyne
-------------- next part --------------
A non-text attachment was scrubbed...
Name: juk-fix-kde-4.0.0-loading.patch
Type: text/x-diff
Size: 13430 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080108/b7240e00/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080108/b7240e00/attachment.sig>
More information about the kde-core-devel
mailing list