Thursday 19 February 2015

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

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

iQIcBAEBAgAGBQJU5ZyeAAoJEM375q7xpO2DnU8P/0BBGxaDiK8QHXifRXVK89G7
NoOhgpz9jd3TuFuNIZkkjzcuDNNGBJoXYga9I4+KVL8tlZESmYxV+TbQDktkjto8
oX7suZMynLU1ra7dI4aeBb7Dpxv4sgcO/VKQjyTe2nETWtdZlb4UXSfO0vS9jYLb
Sagw664HNUcywMM61Uyadh2D18Bj9axBx/6sASla05oehMV+SHT3CU7PfwhVyJhY
6sVVG/qyy7WiuovsUAF0vljyYcYhu7+aYOsCeE5wCbqHqMxV2NYJQsYl2bNtcBRL
1uEwvuVp7Ul2ucXZwoZDMjn/q3L7VJd8bgyoUQmW/vSJVqxLWdqya88pX/O7i3ta
++ybOPJvrb2XRFHMb/oEZ2Bx/+HcX6CdAib3ne1xaw1OrlatuILAvjsR8Qe2iMkg
fNh4o+rsNFo4k9fzp9ajF928Pq9iMee0fuoF2VkFatNHRIvzxdkadV3cGY5JzJHM
qIQei179Ymqr30uKDWzCbUqdC1PayhiYcDOzrm6i7E0woggKlC+4PfEBmjEtOdFs
+98DC/pp2Af9Bm/TvihSDUaEAnPL4ZlaIsu4mlxif0vW5/sC3NhfX/fcU5puOKGL
n7WfZPeMJAy9l2SKot6MSA5NsY0i+WMB42nUIPDbMflSz8p11pdju9zas2QndZ2B
joRHyOabHRPiGbzjajFo
=4Fil
-----END PGP SIGNATURE-----
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: timo.jyrinki@canonical.com
> > To: ubuntu-phone@lists.launchpad.net
> > CC: ubuntu-devel@lists.ubuntu.com
> > 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