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

Jamie Strandboge jamie at canonical.com
Thu Feb 19 16:27:06 UTC 2015


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: timo.jyrinki at canonical.com
>>> To: ubuntu-phone at lists.launchpad.net
>>> CC: ubuntu-devel at 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
> 
> 
> 
> 


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20150219/bbac14f6/attachment.pgp>


More information about the ubuntu-devel mailing list