aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy')
-rw-r--r--libempathy/empathy-contact.c3
-rw-r--r--libempathy/empathy-individual-manager.c3
-rw-r--r--libempathy/empathy-tp-chat.c4
3 files changed, 7 insertions, 3 deletions
diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c
index c6225c191..f27de0414 100644
--- a/libempathy/empathy-contact.c
+++ b/libempathy/empathy-contact.c
@@ -1663,7 +1663,8 @@ update_geocode (EmpathyContact *contact)
GHashTable *location;
location = empathy_contact_get_location (contact);
- if (location == NULL)
+ if (location == NULL ||
+ g_hash_table_size (location) == 0)
return;
/* No need to search for position if contact published it */
diff --git a/libempathy/empathy-individual-manager.c b/libempathy/empathy-individual-manager.c
index 47a01cb8d..7b6adef97 100644
--- a/libempathy/empathy-individual-manager.c
+++ b/libempathy/empathy-individual-manager.c
@@ -234,6 +234,9 @@ individual_manager_dispose (GObject *object)
EmpathyIndividualManagerPriv *priv = GET_PRIV (object);
g_hash_table_destroy (priv->individuals);
+
+ g_signal_handlers_disconnect_by_func (priv->aggregator,
+ aggregator_individuals_changed_cb, object);
tp_clear_object (&priv->aggregator);
G_OBJECT_CLASS (empathy_individual_manager_parent_class)->dispose (object);
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c
index 27003561e..9eaff9592 100644
--- a/libempathy/empathy-tp-chat.c
+++ b/libempathy/empathy-tp-chat.c
@@ -686,13 +686,13 @@ tp_chat_list_properties_cb (TpProxy *proxy,
GArray *ids;
guint i;
- self->priv->had_properties_list = TRUE;
-
if (error) {
DEBUG ("Error listing properties: %s", error->message);
return;
}
+ self->priv->had_properties_list = TRUE;
+
ids = g_array_sized_new (FALSE, FALSE, sizeof (guint), properties->len);
self->priv->properties = g_ptr_array_sized_new (properties->len);
for (i = 0; i < properties->len; i++) {