# HG changeset patch # User Ethan Blanton # Date 1178330300 0 # Node ID aa87ecd650d2c12339fba8324820e74e9788e46c # Parent b799918b6cdcaa7344c46c495362e107d41aec00 Speed up blist manipulations, by Scott Wolchok (EvilSporkMan) diff -r b799918b6cdc -r aa87ecd650d2 ChangeLog --- a/ChangeLog Fri May 04 23:24:04 2007 +0000 +++ b/ChangeLog Sat May 05 01:58:20 2007 +0000 @@ -1,5 +1,9 @@ Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul +version 2.0.1 (??/??/????): + * Buddy list update speedups when buddy icons are not being + displayed. (Scott Wolchok) + version 2.0.0 (5/3/2007): * The project has new names - libpurple for the core, Pidgin for the GTK+ UI and Finch for the ncurses based console UI (AOL LLC) diff -r b799918b6cdc -r aa87ecd650d2 pidgin/gtkblist.c --- a/pidgin/gtkblist.c Fri May 04 23:24:04 2007 +0000 +++ b/pidgin/gtkblist.c Sat May 05 01:58:20 2007 +0000 @@ -4881,7 +4881,12 @@ status = pidgin_blist_get_status_icon((PurpleBlistNode*)buddy, PIDGIN_STATUS_ICON_SMALL); - avatar = pidgin_blist_get_buddy_icon((PurpleBlistNode *)buddy, TRUE, TRUE); + /* Speed it up if we don't want buddy icons. */ + if(biglist) + avatar = pidgin_blist_get_buddy_icon((PurpleBlistNode *)buddy, TRUE, TRUE); + else + avatar = NULL; + if (!avatar) { g_object_ref(G_OBJECT(gtkblist->empty_avatar)); avatar = gtkblist->empty_avatar; @@ -5059,6 +5064,7 @@ GdkPixbuf *avatar; GdkPixbuf *emblem; char *mark; + gboolean showicons = purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/blist/show_buddy_icons"); if(!insert_node(list, node, &iter)) return; @@ -5066,7 +5072,12 @@ status = pidgin_blist_get_status_icon(node, PIDGIN_STATUS_ICON_SMALL); emblem = pidgin_blist_get_emblem(node); - avatar = pidgin_blist_get_buddy_icon(node, TRUE, FALSE); + + /* Speed it up if we don't want buddy icons. */ + if(showicons) + avatar = pidgin_blist_get_buddy_icon(node, TRUE, FALSE); + else + avatar = NULL; mark = g_markup_escape_text(purple_chat_get_name(chat), -1);