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

Reply via email to