Binary incompatibility issue in JuK saved data

Michael Pyne mpyne at purinchu.net
Tue Jan 8 22:08:40 GMT 2008


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.

I will also note that even with JuK encoding its own version into the 
QDataStream, that relies on the binary format of the various integers never 
changing in QDataStream, otherwise it wouldn't even be possible to pull out a 
version number from the stream.

It appears to be working that way of course, but it would be nice to see a 
guarantee to that effect in the Qt documentation for QDataStream. :)

The documentation does explicity talk about versioning and why it's important 
for apps requiring forward compatibility (including example code) and seems 
to indicate that the version of the QDataStream itself is only important 
for "complex types".  That may be good enough, I dunno.

Regards,
 - Michael Pyne
-------------- 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/4251f1d4/attachment.sig>


More information about the kde-core-devel mailing list