Haze's contact lists, like Gabble's, have some logic in the channel itself. All of this logic needs to move to the channel manager so it can become a TpBaseContactList. This branch also adds tests for the contact lists' current behaviour, with good coverage. http://git.collabora.co.uk/?p=user/smcv/haze-smcv.git;a=shortlog;h=refs/heads/contact-list
Test deleting contact lists via Close() Is this change merged back to the corresponding test in Gabble? + bus.get_object(conn.bus_name, '/').Ping() sync_dbus? haze_contact_list_add_to_group() uses: + PurpleGroup *group = purple_group_new (group_name); which is actually kosher, because _new() returns an existing group if possible. It threw me a bit, though. Guess I've been away too long. Any chance of a comment explaining that this is correct? Otherwise looks fine.
(In reply to comment #1) > Test deleting contact lists via Close() > > Is this change merged back to the corresponding test in Gabble? There's no directly corresponding test, so, no; libpurple's contact list handling differs sufficiently that the tests would have to differ anyway. My TpBaseContactList branch for Gabble does add a test for deleting non-empty groups. > + bus.get_object(conn.bus_name, '/').Ping() > > sync_dbus? Obvious change applied. > haze_contact_list_add_to_group() uses: > > + PurpleGroup *group = purple_group_new (group_name); > > which is actually kosher, because _new() returns an existing group if possible. > It threw me a bit, though. Guess I've been away too long. Any chance of a > comment explaining that this is correct? /* This is correct, despite the naming: it returns a borrowed reference * to an existing group (if possible) or to a new group (otherwise). */ PurpleGroup *group = purple_group_new (group_name);
looks fine, ship it.
Fixed in git for 0.5.0
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.