Thursday, 19 February 2015

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

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

iQIcBAEBCgAGBQJU5g7nAAoJEFHb3FjMVZVz004QAJl6JHw/LlV5CB4KNJ/rJXZy
OIgfQXfkd1h+ZOJdsSDwwZke3UkI55w9rX+NDpuzTl8c+eKu3i6lKlaG9Tc0vr/K
B77SlxMWbq7KlTfQ+651YmTCKUaGep2KWGPt/AdVxNTbQDFAvPMa/8War7Fzv5mf
2Mfztwh6jRzcwHUh9oJB0CScsOB3nAzzW/cnTZFPIxOl1p3ho+uhBWZZaF2DIl+/
Q5b+EZ3C4HTCv+lrv8kSbSy7egsvingq6qbxqrlpxxpCUPbfS90WiUqMjZS8/cEW
YaQ0KqZeUSvlwWlmWNNMCXPBxq6icEosKupYK0T815O1KYE3zPoh2W2vuGXcA8qn
HBAaJ1V3x5z2yXWX4lLDxsBqK/FqAn518d/pkDejGBSoAKK1f2I8C2sI5ni2if6u
rkbn09bcGpTqT7rteDwSfInu94BXDduHahEdbKfhxSio+lqCfJw91rRbEcLOYT7p
BvlqSlF9ClaVIhy2KG57Nc6MQvF2typlJkP4nPh0VqfEFuB/ckocwKkauowL3Rq2
Z7qlb5y69/yMVLKaoPJn8kLOdP9SUdy/5SeuEsxcWkaMq8qsw0Xc0q/kHV4J+B+p
Rv3Go8JPqtmA4xKTBHZsTmrTXpL5CcpQyuxhjw2ANm93CXJhJofXE0jLJ7q8mCky
uhUtdsjsv67TMLWmUEYJ
=xXx9
-----END PGP SIGNATURE-----
On 02/19/2015 02:19 AM, Christian Dywan wrote:
> I confirm that several unit tests don't pass.
>
> https://bugs.launchpad.net/u1db-qt/+bug/1423473
>
Hmm, can these tests be run as autopkgtests? That should've blocked Qt 5.4 from
hitting vivid-proposed.

> 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
>
>
>
>


--
Jamie Strandboge http://www.ubuntu.com/