diff options
Diffstat (limited to 'libempathy')
-rw-r--r-- | libempathy/empathy-contact.c | 3 | ||||
-rw-r--r-- | libempathy/empathy-individual-manager.c | 3 | ||||
-rw-r--r-- | libempathy/empathy-tp-chat.c | 4 |
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++) { |