aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-tp-contact-factory.c
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy/empathy-tp-contact-factory.c')
-rw-r--r--libempathy/empathy-tp-contact-factory.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/libempathy/empathy-tp-contact-factory.c b/libempathy/empathy-tp-contact-factory.c
index eeb4ece71..e071ff5fb 100644
--- a/libempathy/empathy-tp-contact-factory.c
+++ b/libempathy/empathy-tp-contact-factory.c
@@ -107,14 +107,18 @@ tp_contact_factory_presences_table_foreach (const gchar *state_str,
EmpathyContact *contact)
{
const GValue *message;
+ const gchar *message_str = NULL;
empathy_contact_set_presence (contact,
empathy_presence_from_str (state_str));
message = g_hash_table_lookup (presences_table, "message");
- if (message != NULL) {
- empathy_contact_set_presence_message (contact,
- g_value_get_string (message));
+ if (message) {
+ message_str = g_value_get_string (message);
+ }
+
+ if (!G_STR_EMPTY (message_str)) {
+ empathy_contact_set_presence_message (contact, message_str);
} else {
empathy_contact_set_presence_message (contact, NULL);
}
@@ -139,7 +143,7 @@ tp_contact_factory_parse_presence_foreach (guint handle,
(GHFunc) tp_contact_factory_presences_table_foreach,
contact);
- DEBUG ("Changing presence for contact %s (%d) to %s (%d)",
+ DEBUG ("Changing presence for contact %s (%d) to '%s' (%d)",
empathy_contact_get_id (contact),
handle,
empathy_contact_get_presence_message (contact),