Just to add my thoughts here for the record (as we discussed it in IRC as well); since this is a context property that depends effectively on a/the Window, I think evaluation goes like this: 1. bindings are evaluated 2. context property is set as the a/window becomes available 3. completion happens - as such it may not be fixable by design of context properties in general. But bug 1587431 aka MainWindow is introducing a units property on the window itself, and as such should be solving this problem if you can use that component instead of your regular QQuickWindow (and basically all apps should eventually).
** Branch linked: lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/outTheWindow -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in Ubuntu. https://bugs.launchpad.net/bugs/1647415 Title: units.gu() emits changed signal before completion Status in ubuntu-ui-toolkit package in Ubuntu: In Progress Bug description: Consider this snippet of code: ----------------------------------------------- import QtQuick 2.4 import Ubuntu.Components 1.3 Item { property int bla: units.gu(10) onBlaChanged: print("bla changed", bla); property int blubb: 80 onBlubbChanged: print("blubb changed", blubb); Component.onCompleted: print("completed", bla); } ---------------------------------------------- The output of this is: qml: bla changed 80 qml: completed 80 the changed signal should not be emitted before completion, given it is its initial value and not actually changed. The current behavior triggers all the onChanged handlers when there's units.gu() involved, which results in things like change animations being played at startup and lots of wasted cpu cycles for evaluating all those changed events. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1647415/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp