[Bug 41470] test suite: test-cli-group fails

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Oct 10 14:38:15 CEST 2011


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

--- Comment #1 from Will Thompson <will.thompson at collabora.co.uk> 2011-10-10 05:38:12 PDT ---
Created an attachment (id=52170)
 View: https://bugs.freedesktop.org/attachment.cgi?id=52170
 Review: https://bugs.freedesktop.org/review?bug=41470&attachment=52170

channel-contacts: guard against no-op updates

process_contacts_queue() can already cope with ContactsQueueItems in the
queue which do not actually have any contacts to prepare. As a comment
in the function describes, we still go through the motions of enqueuing
a preparation/upgrade operation to avoid reordering events.

However, previously the function assumed that if any of the three arrays
(of contact objects, ids, or handles) were non-NULL, then they would be
non-empty. This assumption is false, as
<https://bugs.freedesktop.org/show_bug.cgi?id=41470> illustrates.
The concrete example in that bug is an emission of MembersChanged, with
all arrays except Removed empty, and Actor set to 0. We don't bother
preparing contacts which are removed; so
_tp_channel_contacts_queue_prepare_async() is called with an empty array
of contacts. There are a few other signals which can lead to this
situation.

So this patch makes process_contacts_queue() do the right thing if the
arrays are present but empty. (Previously all three paths would assert
in this situation.)

Fixes: <https://bugs.freedesktop.org/show_bug.cgi?id=41470>

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.



More information about the telepathy-bugs mailing list