aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
authorPhilip Withnall <philip.withnall@collabora.co.uk>2010-09-15 23:22:30 +0800
committerPhilip Withnall <philip.withnall@collabora.co.uk>2010-09-15 23:24:26 +0800
commit2fb2a77597bdcbe2ee18e3d5c1d0fa79ced11d2d (patch)
tree61fd6f36e9a55405e66d4f7060b34f7fc2c0df6e /libempathy-gtk
parentd0887a48a638132c8b831a2115bbac6485682fff (diff)
downloadgsoc2013-empathy-2fb2a77597bdcbe2ee18e3d5c1d0fa79ced11d2d.tar
gsoc2013-empathy-2fb2a77597bdcbe2ee18e3d5c1d0fa79ced11d2d.tar.gz
gsoc2013-empathy-2fb2a77597bdcbe2ee18e3d5c1d0fa79ced11d2d.tar.bz2
gsoc2013-empathy-2fb2a77597bdcbe2ee18e3d5c1d0fa79ced11d2d.tar.lz
gsoc2013-empathy-2fb2a77597bdcbe2ee18e3d5c1d0fa79ced11d2d.tar.xz
gsoc2013-empathy-2fb2a77597bdcbe2ee18e3d5c1d0fa79ced11d2d.tar.zst
gsoc2013-empathy-2fb2a77597bdcbe2ee18e3d5c1d0fa79ced11d2d.zip
Add individuals to the EmpathyIndividualStore before updating them
When adding a new contact _with_ an alias set, the code in EmpathyIndividualStore was listening to (and acting on) property notifications (such as alias changes) for the individual before adding the individual to the store, resulting in duplicate contact listings. Closes: bgo#629380
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-individual-store.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-individual-store.c b/libempathy-gtk/empathy-individual-store.c
index 985b6e317..77f3016ec 100644
--- a/libempathy-gtk/empathy-individual-store.c
+++ b/libempathy-gtk/empathy-individual-store.c
@@ -874,6 +874,8 @@ static void
individual_store_add_individual_and_connect (EmpathyIndividualStore *self,
FolksIndividual *individual)
{
+ individual_store_add_individual (self, individual);
+
g_signal_connect (individual, "notify::avatar",
(GCallback) individual_store_individual_updated_cb, self);
g_signal_connect (individual, "notify::presence-type",
@@ -887,7 +889,6 @@ individual_store_add_individual_and_connect (EmpathyIndividualStore *self,
individual_personas_changed_cb (individual,
folks_individual_get_personas (individual), NULL, self);
- individual_store_add_individual (self, individual);
}
static void