Mercurial > pidgin
changeset 16511:f2332c0da79f
merge of '2f959ba8a0fdac370ac610e60f6a4cd09525d928'
and '49b3bf5604009f3f19eee42ccd7b9c061a9109f1'
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Fri, 27 Apr 2007 06:19:04 +0000 |
parents | 2ae39a056179 (diff) f1513338fbdb (current diff) |
children | 382862262d0b |
files | |
diffstat | 4 files changed, 33 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/finch/gntblist.c Fri Apr 27 05:15:59 2007 +0000 +++ b/finch/gntblist.c Fri Apr 27 06:19:04 2007 +0000 @@ -114,6 +114,7 @@ static void account_signed_on_cb(void); /* Sort functions */ +static int blist_node_compare_position(PurpleBlistNode *n1, PurpleBlistNode *n2); static int blist_node_compare_text(PurpleBlistNode *n1, PurpleBlistNode *n2); static int blist_node_compare_status(PurpleBlistNode *n1, PurpleBlistNode *n2); static int blist_node_compare_log(PurpleBlistNode *n1, PurpleBlistNode *n2); @@ -1778,6 +1779,15 @@ } static int +blist_node_compare_position(PurpleBlistNode *n1, PurpleBlistNode *n2) +{ + while ((n1 = n1->prev) != NULL) + if (n1 == n2) + return 1; + return -1; +} + +static int blist_node_compare_text(PurpleBlistNode *n1, PurpleBlistNode *n2) { const char *s1, *s2; @@ -1788,10 +1798,6 @@ switch (n1->type) { - case PURPLE_BLIST_GROUP_NODE: - s1 = ((PurpleGroup*)n1)->name; - s2 = ((PurpleGroup*)n2)->name; - break; case PURPLE_BLIST_CHAT_NODE: s1 = purple_chat_get_name((PurpleChat*)n1); s2 = purple_chat_get_name((PurpleChat*)n2); @@ -1805,7 +1811,7 @@ s2 = purple_contact_get_alias((PurpleContact*)n2); break; default: - return -1; + return blist_node_compare_position(n1, n2); } us1 = g_utf8_strup(s1, -1); @@ -1836,6 +1842,7 @@ return ret; break; default: + return blist_node_compare_position(n1, n2); break; } @@ -1882,6 +1889,7 @@ return ret; break; default: + return blist_node_compare_position(n1, n2); break; } ret = blist_node_compare_text(n1, n2);
--- a/libpurple/imgstore.c Fri Apr 27 05:15:59 2007 +0000 +++ b/libpurple/imgstore.c Fri Apr 27 06:19:04 2007 +0000 @@ -71,13 +71,13 @@ PurpleStoredImage *img = purple_imgstore_add(data, size, filename); img->id = ++nextid; - g_hash_table_insert(imgstore, GINT_TO_POINTER(img->id), img); + g_hash_table_insert(imgstore, &(img->id), img); return img->id; } PurpleStoredImage *purple_imgstore_find_by_id(int id) { - PurpleStoredImage *img = g_hash_table_lookup(imgstore, GINT_TO_POINTER(id)); + PurpleStoredImage *img = g_hash_table_lookup(imgstore, &id); if (img != NULL) purple_debug_misc("imgstore", "retrieved image id %d\n", img->id); @@ -155,7 +155,7 @@ purple_signal_emit(purple_imgstore_get_handle(), "image-deleting", img); if (img->id) - g_hash_table_remove(imgstore, GINT_TO_POINTER(img->id)); + g_hash_table_remove(imgstore, &img->id); g_free(img->data); g_free(img->filename);
--- a/libpurple/prefs.c Fri Apr 27 05:15:59 2007 +0000 +++ b/libpurple/prefs.c Fri Apr 27 06:19:04 2007 +0000 @@ -1120,7 +1120,7 @@ if(newchild == NULL) { /* no rename happened, we weren't able to find the new pref */ char *tmpname = pref_full_name(child); - purple_debug_error("prefs", "Unable to find rename pref for %s", tmpname); + purple_debug_error("prefs", "Unable to find rename pref for %s\n", tmpname); g_free(tmpname); } }
--- a/libpurple/protocols/jabber/buddy.c Fri Apr 27 05:15:59 2007 +0000 +++ b/libpurple/protocols/jabber/buddy.c Fri Apr 27 06:19:04 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, - "<b>%s:</b> <img id='%d'><br/>", - 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, + "<b>%s:</b> <img id='%d'><br/>", + 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);