diff options
-rw-r--r-- | libpurple/purplepresence.c | 4 | ||||
-rw-r--r-- | pidgin/pidgincontactlist.c | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/libpurple/purplepresence.c b/libpurple/purplepresence.c index 0182e54760..5095ddf28a 100644 --- a/libpurple/purplepresence.c +++ b/libpurple/purplepresence.c @@ -653,6 +653,10 @@ purple_presence_get_message(PurplePresence *presence) { return priv->message; } + if(priv->active_status == NULL) { + return NULL; + } + return purple_status_get_attr_string(priv->active_status, "message"); } diff --git a/pidgin/pidgincontactlist.c b/pidgin/pidgincontactlist.c index fd09bbe6a4..394d3afc65 100644 --- a/pidgin/pidgincontactlist.c +++ b/pidgin/pidgincontactlist.c @@ -84,13 +84,16 @@ pidgin_contact_list_avatar_cb(G_GNUC_UNUSED GObject *self, return NULL; } + info = purple_person_get_priority_contact_info(person); + if(!PURPLE_IS_CONTACT_INFO(info)) { + return NULL; + } + pixbuf = purple_person_get_avatar_for_display(person); if(GDK_IS_PIXBUF(pixbuf)) { return gdk_texture_new_for_pixbuf(pixbuf); } - info = purple_person_get_priority_contact_info(person); - /* All of the contact info in the manager are PurpleContact's so this cast * is fine. */ |