# HG changeset patch # User Sean Egan # Date 1155761416 0 # Node ID 47292c1f7e9f41f6bb12497facf7447e1e91f9b4 # Parent c55e46e26781aab437801d65e6d2fef6ebfb4d7e [gaim-migrate @ 16800] segfault fix committer: Tailor Script diff -r c55e46e26781 -r 47292c1f7e9f src/gtkstatusbox.c --- a/src/gtkstatusbox.c Wed Aug 16 19:38:57 2006 +0000 +++ b/src/gtkstatusbox.c Wed Aug 16 20:50:16 2006 +0000 @@ -998,23 +998,28 @@ if (box->account) { GaimPlugin *plug = gaim_find_prpl(gaim_account_get_protocol_id(box->account)); - GaimPluginProtocolInfo *prplinfo = GAIM_PLUGIN_PROTOCOL_INFO(plug); - if (prplinfo->icon_spec.format) { - char *icon = gaim_gtk_convert_buddy_icon(plug, filename); - gaim_account_set_buddy_icon(box->account, icon); - g_free(icon); - gaim_account_set_ui_bool(box->account, GAIM_GTK_UI, "use-global-buddyicon", FALSE); + if (plug) { + GaimPluginProtocolInfo *prplinfo = GAIM_PLUGIN_PROTOCOL_INFO(plug); + if (prplinfo && prplinfo->icon_spec.format) { + char *icon = gaim_gtk_convert_buddy_icon(plug, filename); + gaim_account_set_buddy_icon(box->account, icon); + g_free(icon); + gaim_account_set_ui_bool(box->account, GAIM_GTK_UI, "use-global-buddyicon", FALSE); + } } } else { for (accounts = gaim_accounts_get_all(); accounts != NULL; accounts = accounts->next) { GaimAccount *account = accounts->data; GaimPlugin *plug = gaim_find_prpl(gaim_account_get_protocol_id(account)); - GaimPluginProtocolInfo *prplinfo = GAIM_PLUGIN_PROTOCOL_INFO(plug); - if (gaim_account_get_ui_bool(account, GAIM_GTK_UI, "use-global-buddyicon", TRUE) && - prplinfo->icon_spec.format) { - char *icon = gaim_gtk_convert_buddy_icon(plug, filename); - gaim_account_set_buddy_icon(account, icon); - g_free(icon); + if (plug) { + GaimPluginProtocolInfo *prplinfo = GAIM_PLUGIN_PROTOCOL_INFO(plug); + if (prplinfo != NULL && + gaim_account_get_ui_bool(account, GAIM_GTK_UI, "use-global-buddyicon", TRUE) && + prplinfo->icon_spec.format) { + char *icon = gaim_gtk_convert_buddy_icon(plug, filename); + gaim_account_set_buddy_icon(account, icon); + g_free(icon); + } } } }