Friday, 20 February 2015

Re: [Ubuntu-phone] Qt 5.4 QVariant change and module news

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJU5wymAAoJEM375q7xpO2DVtIQAIS/Bz/080vdk9XCwp4KEc0y
uSGTjf+xE8guRJ5GOXFHcRdPEk3eRJ9P8+bIGV9VmjzUEgVioGFLJriIRZa9INBd
ZnuF3QnZzJhBJs5AdusL7zQUznq0CkdyUfq9lbV6wKVjnxptISWSdodAlftAX7Vx
lpR2S4sIlAIg8L915DWMI1P7hO84BjS2CjX2YkiDd+W+tGONxiKJVQ1/Hp6/C26W
oXHo2Nz3jWzg651VeWNPbCtCdND1FWG6qCfBwceGtbeUuiEviL0p5xzp9OL6aAQ1
6Sg7dFAAMWfaUiexM56t4MnRZEamfx2fl9vwTTGTN2KwXioXizgrLCDhDdUyc6Lb
S07lzCDA8AeWkpWXH4dgGOu4ww3mCbm4V33jyemxplHGg5hB9QHSekNc74Txb4Nn
pLiVFGghCObqRTbCrRxU2/dht3YNPpaDOTKmRn+ceYpiKWDS6IR4dDUmIocICByF
+Gv5jFDM0bZ3o8MsEWjFzDuHmIelXAywQKKtMTinYjvPnRr1WQRj02qaSj9Jetpu
6P/YbYe2tpeWy/1GmCT3RbyeQSkKe/LtoPrGwfjWRjeXk1MYvYgJFdCE6p2yRwj4
d1Fhp4ahiSyc8TXGUdv9E20pQid9cpYfkGGjK99UJCFd6Fs/8u5JwmWaTlvmxbbQ
k95P9l+N7Cir2wLGO7d9
=gIdN
-----END PGP SIGNATURE-----
This is in progress and will be on your favorite linux distro soon. :-)

On 19.02.2015 19:26, Bogdan Cuza wrote:
> I see there is a branch with unit tests that pass. Are the fixes gonna
> land soon?
>
> > Date: Thu, 19 Feb 2015 09:19:42 +0100
> > From: [email protected]
> > To: [email protected]; [email protected];
> [email protected]; [email protected]
> > Subject: Re: [Ubuntu-phone] Qt 5.4 QVariant change and module news
> >
> > I confirm that several unit tests don't pass.
> >
> > https://bugs.launchpad.net/u1db-qt/+bug/1423473
> >
> > On 18.02.2015 19:51, Bogdan Cuza wrote:
> > > I have just received a vivid-proposed image and noticed that U1db no
> > > longer loads the defaults (which was probably a processed QVariantMap
> > > from JS). Did this change break it/could it break even more
> components?
> > >
> > > > Date: Tue, 17 Feb 2015 09:37:38 +0200
> > > > From: [email protected]
> > > > To: [email protected]
> > > > CC: [email protected]
> > > > Subject: [Ubuntu-phone] Qt 5.4 QVariant change and module news
> > > >
> > > > Qt 5.4 is now in vivid, powering Ubuntu Phone starting with devel
> > > > image #102, Kubuntu's Plasma 5 and also the Unity 8 desktop preview.
> > > > No app changes are generally needed, but there is a change in
> QVariant
> > > > that may be relevant to C++ using apps.
> > > >
> > > > == QVariant change in Qt 5.4 ==
> > > >
> > > > QVariant has changed a bit in Qt 5.4, although in a way that fixing
> > > > its use does not affect negatively use in Qt 5.3 either.
> > > >
> > > > Quote: "When a JavaScript object/array is passed to C++ through a
> > > > QVariant, the engine no longer immediately converts the object
> > > > recursively into a QVariantMap or QVariantList but instead stores a
> > > > QJSValue in the QVariant. This prevents a loss of data when the JS
> > > > object contains non-primitive types such as function objects for
> > > > example. Code that expects the variant type to be exactly
> > > > QVariant::Map or QVariant::List may need to be adapted. Registered
> > > > conversion functions however ensure that code that merely calls
> > > > toMap() or toList() continues to work." [QTBUG-40431]
> > > >
> > > > Examples of fixes:
> > > > - Oxide:
> > > https://code.launchpad.net/~aacid/oxide/qt54_variantjs/+merge/248765
> > > > - Ubuntu UI Toolkit:
> > > >
> > >
> https://code.launchpad.net/~aacid/ubuntu-ui-toolkit/statesaver_54/+merge/247986
> > > >
> > > > Another noted small difference:
> > > > "In Qt 5.4 an alias to a null variable is correctly null instead of
> > > > undefined like it was in Qt 5.3"
> > > >
> > > > == Status of less supported Qt modules ==
> > > >
> > > > It's useful to remember that not all of Qt we have in Ubuntu is
> > > > supported by the Qt Project:
> > > >
> > > > - qtlocation: Upstream releases this as part of their releases, but
> > > > they emphasize that Qt Positioning is API stable while Qt Location
> > > > might change. Still, this should be pretty safe to use and will
> > > > probably be declared stable soon.
> > > > - qt3d: The original module has not been developed for two years. A
> > > > complete rewrite has been in development during that time. Qt 3D 2.0
> > > > will be available as a preview with Qt 5.5.
> > > > - qtsystems: Semi-active development. Qt 5.4 absorbed
> QStorageInfo to
> > > > be official part of qtbase, but it is a bit different and oddly does
> > > > not have QML support at this point. We include the SystemInfo module
> > > > on the phone images, but currently not the Publish Subscribe or
> > > > Service Framework modules from the same source.
> > > > - qtpim: Semi-active development, but can be considered supported
> > > > since our Renato is one of the upstream developers. Ubuntu uses the
> > > > Contacts/Organizer extensively in phone/scheduling apps.
> > > > - qtfeedback: Stable in the sense that there is no development
> > > > happening. It's also a very small module. If you are interested
> in the
> > > > module, consider taking an active role in the Qt Project where
> > > > contributions would surely be welcome.
> > > >
> > > > -Timo
> >
> >