--- gevolution.c.orig 2006-02-22 14:37:55.000000000 +0100 +++ gevolution.c 2006-02-22 14:48:11.000000000 +0100 @@ -36,11 +36,13 @@ #include "gevolution.h" -#include +//#include -#include -#include -#include +//#include +#include +//#include +#include +//#include #include @@ -324,8 +326,6 @@ static gboolean plugin_load(GaimPlugin *plugin) { - bonobo_activate(); - backup_blist_ui_ops = gaim_blist_get_ui_ops(); blist_ui_ops = g_memdup(backup_blist_ui_ops, sizeof(GaimBlistUiOps)); @@ -370,7 +370,6 @@ static void plugin_destroy(GaimPlugin *plugin) { - bonobo_debug_shutdown(); } static void @@ -548,28 +547,6 @@ { /* TODO: Change to core-remote when possible. */ /* info.dependencies = g_list_append(info.dependencies, "gtk-remote"); */ - - /* - * I'm going to rant a little bit here... - * - * For some reason, when we init bonobo from inside a plugin, it will - * segfault when destroyed. The backtraces are within gmodule somewhere. - * There's not much I can do, and I'm not sure where the bug lies. - * However, plugins are only destroyed when Gaim is shutting down. After - * destroying the plugins, gaim ends, and anything else is of course - * freed. That includes this, if we make the module resident, which - * prevents us from being able to actually unload it. - * - * So, in conclusion, this is an evil hack, but it doesn't harm anything - * and it works. - */ - g_module_make_resident(plugin->handle); - - if (!bonobo_init_full(NULL, NULL, bonobo_activation_orb_get(), - CORBA_OBJECT_NIL, CORBA_OBJECT_NIL)) - { - gaim_debug_error("evolution", "Unable to initialize bonobo.\n"); - } } GAIM_INIT_PLUGIN(gevolution, init_plugin, info)