summaryrefslogtreecommitdiff
path: root/pidgin/plugins/gevolution/gevolution.c
diff options
context:
space:
mode:
Diffstat (limited to 'pidgin/plugins/gevolution/gevolution.c')
-rw-r--r--pidgin/plugins/gevolution/gevolution.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/pidgin/plugins/gevolution/gevolution.c b/pidgin/plugins/gevolution/gevolution.c
index b04d7ed9e1..2317e95b7b 100644
--- a/pidgin/plugins/gevolution/gevolution.c
+++ b/pidgin/plugins/gevolution/gevolution.c
@@ -36,11 +36,20 @@
#include "gevolution.h"
+#if 0
+/* These are private headers that we probably should never have been
+ * including. Maybe very early versions of e-d-s required this?
+ *
+ * also, bonobo has gone away as of e-d-s 2.29.1, and this plugin still
+ * seems to work even on e-d-s 1.10.3 without us touching it.
+ * Maybe it's not really working though. I'm sure we'll find out.
+ */
#include <libedata-book/Evolution-DataServer-Addressbook.h>
#include <libedata-book/e-data-book-factory.h>
/* TODO: bonobo is going away eventually, we'll need to find an alternative */
#include <bonobo/bonobo-main.h>
+#endif
#include <glib.h>
@@ -116,6 +125,7 @@ update_buddies_from_contact(EContact *contact)
update_ims_from_contact(contact, name, "prpl-msn", E_CONTACT_IM_MSN);
update_ims_from_contact(contact, name, "prpl-icq", E_CONTACT_IM_ICQ);
update_ims_from_contact(contact, name, "prpl-novell", E_CONTACT_IM_GROUPWISE);
+ update_ims_from_contact(contact, name, "prpl-gg", E_CONTACT_IM_GADUGADU);
}
static void
@@ -227,12 +237,12 @@ menu_item_send_mail_activate_cb(PurpleBlistNode *node, gpointer user_data)
char *app = g_find_program_in_path("evolution");
if (app != NULL)
{
- char *command_line = g_strdup_printf("%s mailto:%s", app, mail);
- char *quoted = g_shell_quote(command_line);
+ char *quoted = g_shell_quote(mail);
+ char *command_line = g_strdup_printf("%s mailto:%s", app, quoted);
g_free(app);
g_free(mail);
- g_spawn_command_line_async(quoted, NULL);
+ g_spawn_command_line_async(command_line, NULL);
g_free(command_line);
g_free(quoted);
}
@@ -326,7 +336,9 @@ load_timeout(gpointer data)
static gboolean
plugin_load(PurplePlugin *plugin)
{
+#if 0
bonobo_activate();
+#endif
backup_blist_ui_ops = purple_blist_get_ui_ops();
@@ -372,7 +384,9 @@ plugin_unload(PurplePlugin *plugin)
static void
plugin_destroy(PurplePlugin *plugin)
{
+#if 0
bonobo_debug_shutdown();
+#endif
}
static void
@@ -575,14 +589,20 @@ init_plugin(PurplePlugin *plugin)
*
* So, in conclusion, this is an evil hack, but it doesn't harm anything
* and it works.
+ *
+ * And for some reason it's needed even when we don't init bonobo ourselves
+ * at all, so the above explanation is suspect. This is required even with
+ * e-d-s >= 2.29.1 where bonobo is no longer in the picture.
*/
g_module_make_resident(plugin->handle);
+#if 0
if (!bonobo_init_full(NULL, NULL, bonobo_activation_orb_get(),
CORBA_OBJECT_NIL, CORBA_OBJECT_NIL))
{
purple_debug_error("evolution", "Unable to initialize bonobo.\n");
}
+#endif
}
PURPLE_INIT_PLUGIN(gevolution, init_plugin, info)