[Bug 92153] [Patch] Account properties notify signals are dispatched before the account property is updated; presence, connection changes signal with nonsensical orderering.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Dec 15 06:08:45 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=92153

--- Comment #6 from James Smith <smithjd15 at gmail.com> ---
First patch: As far as I can see, the -signal- property is correct every time.
Unfortunately there are times when we can't use the signal property, for
example when recomputing an average of identical properties of different
accounts. If one of the other accounts is also changing, and the property
change is signalled -before- the parent account object is notified, the
property still has the old value, and the signal has been dispatched along with
the correct property. If we affect an averaging like this on the first account
that signals a property change, a stale property is theoretically possible
because the parent account object hasn't been notified of any property change.
We mostly ignore the property that came with the signal when affecting an
average, instead reading the property from any number of accounts starting with
the first account that signalled.

Second patch: The presence and connection properties are intristically more
related to each other than most other properties. More care can be taken
towards evaluating certain properties after others. Properties that fit this
criteria are ordered such that 'CurrentPresence' is the last property, and all
other properties are to precede a property whose changing can indicate a
pending property change in itself ('AutomaticPresence' is otherwise related to
the presence properties, and so follows 'CurrentPresence'). When 'Connection'
changes there is typically a change in 'CurrentPresence';  when
'RequestedPresence' changes there could be changes for both 'ChangingPresence'
and 'CurrentPresence', so 'RequestedPresence' should precede 'ChangingPresence'
and be somewhere after 'Connection' and before 'CurrentPresence'.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.


More information about the telepathy-bugs mailing list