lp:~aacid/unity8/workaround_qt47709

Created by Albert Astals Cid and last modified
Get this branch:
bzr branch lp:~aacid/unity8/workaround_qt47709
Only Albert Astals Cid can upload to this branch. If you are Albert Astals Cid please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Albert Astals Cid
Project:
Unity 8
Status:
Merged

Recent revisions

1903. By Albert Astals Cid

Workaround for bug 1473471

After three days of debugging I've been able to figure out why it is crashing, why it's random and i can provide a quick workaround in unity8 code.

## Why is it crashing? ##

The problem exists because we use the QML cache and because Qt has this bug https://bugreports.qt.io/browse/QTBUG-47709

The bug in Qt means that if for types with extended properties (Image and "source" in our case coming from the SDK) an Item is created before the type is extended, all subsquent items of the same type won't see the extended property either.

Since we're using the QML cache this means that the code loaded from the cache expects the extended property to be there, so when it access such property, it will crash.

## Why is it random? ##

It's random because the QML file loading is not always done in the *exact* same order, and thus in some cases the first Image is created in a file that imports Ubuntu.Components and in some cases the first image is created in a file that does not.

## How to workaround it? ##

A quick workaround is making sure Ubuntu.Components is imported in the first file that is imported, in unity8's case UnityInputInfo.qml that is a singleton imported from the root file (OrientedShell.qml)

1902. By Launchpad Translations on behalf of unity-team

Launchpad automatic translations update.

1901. By Launchpad Translations on behalf of unity-team

Launchpad automatic translations update.

1900. By Launchpad Translations on behalf of unity-team

Launchpad automatic translations update.

1899. By CI Train Bot Account

Resync trunk.

1898. By CI Train Bot Account

Releasing 8.10+15.10.20150729-0ubuntu1

1897. By Michael Zanetti

Implement first edition for a desktop Alt+Tab spread
Approved by: Lukáš Tinkl

1896. By Lukáš Tinkl

React on PrtScr keyboard shortcut for taking screenshots on desktop Fixes: #1474149
Approved by: Mirco Müller

1895. By Lukáš Tinkl

Fix power dialogs on desktop
Approved by: Michael Zanetti

1894. By Lukáš Tinkl

Provide DBUS compatibility with various session services (suspend/hibernate, lock/unlock, screensaver, etc)
Approved by: Michael Zanetti

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:unity8
This branch contains Public information 
Everyone can see this information.