diff -r f95b376c0d2f -r 50de12a4b81b libpurple/protocols/jabber/buddy.c
--- a/libpurple/protocols/jabber/buddy.c Fri Apr 27 14:25:53 2007 +0000
+++ b/libpurple/protocols/jabber/buddy.c Fri Apr 27 14:36:42 2007 +0000
@@ -955,22 +955,23 @@
gboolean photo = (strcmp(child->name, "PHOTO") == 0);
data = purple_base64_decode(bintext, &size);
-
- jbi->vcard_imgids = g_slist_prepend(jbi->vcard_imgids, GINT_TO_POINTER(purple_imgstore_add_with_id(g_memdup(data, size), size, "logo.png")));
- g_string_append_printf(info_text,
- "%s: ![]()
",
- photo ? _("Photo") : _("Logo"),
- GPOINTER_TO_INT(jbi->vcard_imgids->data));
+ if (data) {
+ jbi->vcard_imgids = g_slist_prepend(jbi->vcard_imgids, GINT_TO_POINTER(purple_imgstore_add_with_id(g_memdup(data, size), size, "logo.png")));
+ g_string_append_printf(info_text,
+ "%s: ![]()
",
+ photo ? _("Photo") : _("Logo"),
+ GPOINTER_TO_INT(jbi->vcard_imgids->data));
+
+ purple_cipher_digest_region("sha1", (guchar *)data, size,
+ sizeof(hashval), hashval, NULL);
+ p = hash;
+ for(i=0; i<20; i++, p+=2)
+ snprintf(p, 3, "%02x", hashval[i]);
- purple_cipher_digest_region("sha1", (guchar *)data, size,
- sizeof(hashval), hashval, NULL);
- p = hash;
- for(i=0; i<20; i++, p+=2)
- snprintf(p, 3, "%02x", hashval[i]);
-
- purple_buddy_icons_set_for_user(js->gc->account, bare_jid,
- data, size, hash);
- g_free(bintext);
+ purple_buddy_icons_set_for_user(js->gc->account, bare_jid,
+ data, size, hash);
+ g_free(bintext);
+ }
}
}
g_free(text);