Mercurial > pidgin
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 } |