comparison src/gtkstatusbox.c @ 14155:47292c1f7e9f

[gaim-migrate @ 16800] segfault fix committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Wed, 16 Aug 2006 20:50:16 +0000
parents c55e46e26781
children 06a2658aa96e
comparison
equal deleted inserted replaced
14154:c55e46e26781 14155:47292c1f7e9f
996 if (filename) { 996 if (filename) {
997 GList *accounts; 997 GList *accounts;
998 998
999 if (box->account) { 999 if (box->account) {
1000 GaimPlugin *plug = gaim_find_prpl(gaim_account_get_protocol_id(box->account)); 1000 GaimPlugin *plug = gaim_find_prpl(gaim_account_get_protocol_id(box->account));
1001 GaimPluginProtocolInfo *prplinfo = GAIM_PLUGIN_PROTOCOL_INFO(plug); 1001 if (plug) {
1002 if (prplinfo->icon_spec.format) { 1002 GaimPluginProtocolInfo *prplinfo = GAIM_PLUGIN_PROTOCOL_INFO(plug);
1003 char *icon = gaim_gtk_convert_buddy_icon(plug, filename); 1003 if (prplinfo && prplinfo->icon_spec.format) {
1004 gaim_account_set_buddy_icon(box->account, icon); 1004 char *icon = gaim_gtk_convert_buddy_icon(plug, filename);
1005 g_free(icon); 1005 gaim_account_set_buddy_icon(box->account, icon);
1006 gaim_account_set_ui_bool(box->account, GAIM_GTK_UI, "use-global-buddyicon", FALSE); 1006 g_free(icon);
1007 gaim_account_set_ui_bool(box->account, GAIM_GTK_UI, "use-global-buddyicon", FALSE);
1008 }
1007 } 1009 }
1008 } else { 1010 } else {
1009 for (accounts = gaim_accounts_get_all(); accounts != NULL; accounts = accounts->next) { 1011 for (accounts = gaim_accounts_get_all(); accounts != NULL; accounts = accounts->next) {
1010 GaimAccount *account = accounts->data; 1012 GaimAccount *account = accounts->data;
1011 GaimPlugin *plug = gaim_find_prpl(gaim_account_get_protocol_id(account)); 1013 GaimPlugin *plug = gaim_find_prpl(gaim_account_get_protocol_id(account));
1012 GaimPluginProtocolInfo *prplinfo = GAIM_PLUGIN_PROTOCOL_INFO(plug); 1014 if (plug) {
1013 if (gaim_account_get_ui_bool(account, GAIM_GTK_UI, "use-global-buddyicon", TRUE) && 1015 GaimPluginProtocolInfo *prplinfo = GAIM_PLUGIN_PROTOCOL_INFO(plug);
1014 prplinfo->icon_spec.format) { 1016 if (prplinfo != NULL &&
1015 char *icon = gaim_gtk_convert_buddy_icon(plug, filename); 1017 gaim_account_get_ui_bool(account, GAIM_GTK_UI, "use-global-buddyicon", TRUE) &&
1016 gaim_account_set_buddy_icon(account, icon); 1018 prplinfo->icon_spec.format) {
1017 g_free(icon); 1019 char *icon = gaim_gtk_convert_buddy_icon(plug, filename);
1020 gaim_account_set_buddy_icon(account, icon);
1021 g_free(icon);
1022 }
1018 } 1023 }
1019 } 1024 }
1020 } 1025 }
1021 gtk_gaim_status_box_set_buddy_icon(box, filename); 1026 gtk_gaim_status_box_set_buddy_icon(box, filename);
1022 } 1027 }