GNOME Bugzilla – Bug 712839
Remove empathy_create_individual_from_tp_contact()
Last modified: 2013-11-25 10:52:43 UTC
We should use empathy_ensure_individual_from_tp_contact() instead, to avoid the situation where a TpfPersona which already has a non-NULL individual is added to a new individual. That was causing crashes in empathy-chat on IRC channels if (I think) someone changed their IRC nick part-way through empathy-chat enumerating and relinking all the personas. See https://bugzilla.redhat.com/show_bug.cgi?id=1031252
Created attachment 260481 [details] [review] libempathy: Remove empathy_create_individual_from_tp_contact() It has been replaced by empathy_ensure_individual_from_tp_contact(), which can’t cause internal state corruption in libfolks by wrapping an existing Persona in a second Individual when it’s already wrapped in one. This has also been fixed in libfolks. See: https://bugzilla.redhat.com/show_bug.cgi?id=1031252
Review of attachment 260481 [details] [review]: ++ I think this is safe enough for 3.10. thanks!
Pushed to master: commit 0909d1f884c4542553d98b18e7622664d2a02169 Author: Philip Withnall <philip.withnall@collabora.co.uk> Date: Thu Nov 21 18:09:16 2013 +0000 libempathy: Remove empathy_create_individual_from_tp_contact() It has been replaced by empathy_ensure_individual_from_tp_contact(), which can’t cause internal state corruption in libfolks by wrapping an existing Persona in a second Individual when it’s already wrapped in one. This has also been fixed in libfolks. See: https://bugzilla.redhat.com/show_bug.cgi?id=1031252 https://bugzilla.gnome.org/show_bug.cgi?id=712839 libempathy-gtk/empathy-contact-chooser.c | 2 +- libempathy-gtk/empathy-individual-menu.c | 2 +- libempathy-gtk/empathy-individual-store-channel.c | 2 +- libempathy/empathy-utils.c | 20 -------------------- libempathy/empathy-utils.h | 3 --- 5 files changed, 3 insertions(+), 26 deletions(-) and to 3.10: commit 96f2a474e0cdc5f8fe8a482d14a1a97c519def3a Author: Philip Withnall <philip.withnall@collabora.co.uk> Date: Thu Nov 21 18:09:16 2013 +0000 libempathy: Remove empathy_create_individual_from_tp_contact() It has been replaced by empathy_ensure_individual_from_tp_contact(), which can’t cause internal state corruption in libfolks by wrapping an existing Persona in a second Individual when it’s already wrapped in one. This has also been fixed in libfolks. See: https://bugzilla.redhat.com/show_bug.cgi?id=1031252 https://bugzilla.gnome.org/show_bug.cgi?id=712839 libempathy-gtk/empathy-contact-chooser.c | 2 +- libempathy-gtk/empathy-individual-menu.c | 2 +- libempathy-gtk/empathy-individual-store-channel.c | 2 +- libempathy/empathy-utils.c | 20 -------------------- libempathy/empathy-utils.h | 3 --- 5 files changed, 3 insertions(+), 26 deletions(-)