]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-individual-store-channel.c
use the 48x48 version of the local-xmpp icon
[empathy.git] / libempathy-gtk / empathy-individual-store-channel.c
index aa9f0e2753799c05504ce562a3f16d92cc2c4017..76ff74e25c97029c7f61a7e0d42aa1b28b54d9a7 100644 (file)
@@ -82,6 +82,8 @@ add_members (EmpathyIndividualStoreChannel *self,
         continue;
 
       individual = empathy_create_individual_from_tp_contact (contact);
+      if (individual == NULL)
+        return;
 
       DEBUG ("%s joined channel %s", tp_contact_get_identifier (contact),
           tp_proxy_get_object_path (self->priv->channel));
@@ -275,6 +277,16 @@ individual_store_channel_reload_individuals (EmpathyIndividualStore *store)
   g_ptr_array_unref (members);
 }
 
+static gboolean
+individual_store_channel_initial_loading (EmpathyIndividualStore *store)
+{
+  EmpathyIndividualStoreChannel *self = EMPATHY_INDIVIDUAL_STORE_CHANNEL (
+      store);
+
+  return !tp_proxy_is_prepared (self->priv->channel,
+      TP_CHANNEL_FEATURE_CONTACTS);
+}
+
 static void
 empathy_individual_store_channel_class_init (
     EmpathyIndividualStoreChannelClass *klass)
@@ -288,6 +300,7 @@ empathy_individual_store_channel_class_init (
   object_class->set_property = individual_store_channel_set_property;
 
   store_class->reload_individuals = individual_store_channel_reload_individuals;
+  store_class->initial_loading = individual_store_channel_initial_loading;
 
   g_object_class_install_property (object_class,
       PROP_CHANNEL,