Bug 47005

Summary: Adding a contact already in the roaster crashes Haze
Product: Telepathy Reporter: Daniele E. Domenichelli <daniele.domenichelli>
Component: hazeAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: david
Version: git master   
Hardware: Other   
OS: All   
See Also: https://bugzilla.redhat.com/show_bug.cgi?id=728927
Whiteboard:
i915 platform: i915 features:
Attachments: contact-list: Don't crash if a contact is already in the roster

Description Daniele E. Domenichelli 2012-03-06 07:17:29 UTC
Trying to add a contact that is already in the contact list to an account using haze crashes haze with this error:

haze:ERROR:contact-list.c:549:haze_contact_list_request_subscription: assertion failed: (purple_find_buddy (account, bname) == NULL)
Aborted

I tried msn and icq using telepathy-haze 0.5.0 and libpurple 2.10.1 (0.5.0-1 and 2.10.1-1 debian packages)
Comment 1 David Strauss 2012-05-03 18:41:30 UTC
This appears to be the same issue:
https://bugs.freedesktop.org/show_bug.cgi?id=47005
Comment 2 David Strauss 2012-05-03 18:42:18 UTC
(In reply to comment #1)
> This appears to be the same issue:
> https://bugs.freedesktop.org/show_bug.cgi?id=47005

Whoops, meant to give the one from the Red Hat tracker:
https://bugzilla.redhat.com/show_bug.cgi?id=728927
Comment 3 Debarshi Ray 2015-04-28 17:16:28 UTC
Created attachment 115408 [details] [review]
contact-list: Don't crash if a contact is already in the roster

I haven't found an account to actually test this, but this is what tp-gabble also appears to be doing (src/roster.c).
Comment 4 Debarshi Ray 2015-04-28 17:22:15 UTC
From #telepathy on Freenode:

17:16 <rishi> xclaesse:  https://bugs.freedesktop.org/show_bug.cgi?id=47005
17:18 <xclaesse> rishi, +1
17:19 <xclaesse> quickly checked gabble code and indeed seems to do that with   
      the do_add 

Pushed to both master and telepathy-haze-0.8

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.