diff -r 1f0650e7b1b5 -r 2dcb81a189bd pidgin/gtkutils.c --- a/pidgin/gtkutils.c Sun Sep 01 03:53:25 2013 +0530 +++ b/pidgin/gtkutils.c Sun Sep 01 04:37:15 2013 +0530 @@ -556,7 +556,7 @@ char *filename = NULL; GdkPixbuf *pixbuf; - if (protocol->list_icon == NULL) + if (!PURPLE_PROTOCOL_IMPLEMENTS(protocol, list_icon)) return NULL; protoname = purple_protocol_iface_list_icon(protocol, account, NULL); @@ -917,16 +917,10 @@ } protocol = purple_connection_get_protocol(conn); - if (protocol != NULL && protocol->get_cb_real_name) + if (protocol != NULL) who = purple_protocol_iface_get_cb_real_name(protocol, conn, chat, name); - if (protocol == NULL || protocol->get_cb_info == NULL) { - pidgin_retrieve_user_info(conn, who ? who : name); - g_free(who); - return; - } - - show_retrieveing_info(conn, who ? who : name); - purple_protocol_iface_get_cb_info(protocol, conn, chat, name); + + pidgin_retrieve_user_info(conn, who ? who : name); g_free(who); } @@ -1492,9 +1486,9 @@ if (protocol && purple_protocol_get_options(protocol) & OPT_PROTO_IM_IMAGE) im = TRUE; - if (protocol && protocol->can_receive_file) + if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, can_receive_file)) ft = purple_protocol_iface_can_receive_file(protocol, gc, who); - else if (protocol && protocol->send_file) + else if (protocol && PURPLE_PROTOCOL_IMPLEMENTS(protocol, send_file)) ft = TRUE; if (im && ft)