--- /dev/null
+diff -urN gaim-0.78.orig/plugins/gevolution/add_buddy_dialog.c gaim-0.78/plugins/gevolution/add_buddy_dialog.c
+--- gaim-0.78.orig/plugins/gevolution/add_buddy_dialog.c 2004-06-02 14:21:12.152999696 +0200
++++ gaim-0.78/plugins/gevolution/add_buddy_dialog.c 2004-06-02 14:35:31.623340344 +0200
+@@ -334,18 +334,19 @@
+ {
+ EContact *contact = E_CONTACT(c->data);
+ const char *name;
+- GList *aims, *jabbers, *yahoos, *msns, *icqs;
++ GList *aims, *jabbers, *yahoos, *gadugadus, *msns, *icqs;
+
+ name = e_contact_get_const(contact, E_CONTACT_FULL_NAME);
+
+- aims = e_contact_get(contact, E_CONTACT_IM_AIM);
+- jabbers = e_contact_get(contact, E_CONTACT_IM_JABBER);
+- yahoos = e_contact_get(contact, E_CONTACT_IM_YAHOO);
+- msns = e_contact_get(contact, E_CONTACT_IM_MSN);
+- icqs = e_contact_get(contact, E_CONTACT_IM_ICQ);
++ aims = e_contact_get(contact, E_CONTACT_IM_AIM);
++ jabbers = e_contact_get(contact, E_CONTACT_IM_JABBER);
++ yahoos = e_contact_get(contact, E_CONTACT_IM_YAHOO);
++ gadugadus = e_contact_get(contact, E_CONTACT_IM_GADUGADU);
++ msns = e_contact_get(contact, E_CONTACT_IM_MSN);
++ icqs = e_contact_get(contact, E_CONTACT_IM_ICQ);
+
+ if (aims == NULL && jabbers == NULL && yahoos == NULL &&
+- msns == NULL && icqs == NULL)
++ msns == NULL && icqs == NULL && gadugadus == NULL)
+ {
+ GtkTreeIter iter;
+
+@@ -358,11 +359,12 @@
+ }
+ else
+ {
+- add_ims(dialog, contact, name, aims, "prpl-oscar");
+- add_ims(dialog, contact, name, jabbers, "prpl-jabber");
+- add_ims(dialog, contact, name, yahoos, "prpl-yahoo");
+- add_ims(dialog, contact, name, msns, "prpl-msn");
+- add_ims(dialog, contact, name, icqs, "prpl-oscar");
++ add_ims(dialog, contact, name, aims, "prpl-oscar");
++ add_ims(dialog, contact, name, jabbers, "prpl-jabber");
++ add_ims(dialog, contact, name, yahoos, "prpl-yahoo");
++ add_ims(dialog, contact, name, gadugadus, "prpl-gg");
++ add_ims(dialog, contact, name, msns, "prpl-msn");
++ add_ims(dialog, contact, name, icqs, "prpl-oscar");
+ }
+ }
+
+@@ -388,7 +390,7 @@
+ {
+ EContact *contact = E_CONTACT(l->data);
+ const char *name;
+- GList *aims, *jabbers, *yahoos, *msns, *icqs;
++ GList *aims, *jabbers, *yahoos, *gadugadus, *msns, *icqs;
+
+ name = e_contact_get_const(contact, E_CONTACT_FULL_NAME);
+
+@@ -398,14 +400,15 @@
+ continue;
+ }
+
+- aims = e_contact_get(contact, E_CONTACT_IM_AIM);
+- jabbers = e_contact_get(contact, E_CONTACT_IM_JABBER);
+- yahoos = e_contact_get(contact, E_CONTACT_IM_YAHOO);
+- msns = e_contact_get(contact, E_CONTACT_IM_MSN);
+- icqs = e_contact_get(contact, E_CONTACT_IM_ICQ);
++ aims = e_contact_get(contact, E_CONTACT_IM_AIM);
++ jabbers = e_contact_get(contact, E_CONTACT_IM_JABBER);
++ yahoos = e_contact_get(contact, E_CONTACT_IM_YAHOO);
++ gadugadus = e_contact_get(contact, E_CONTACT_IM_GADUGADU);
++ msns = e_contact_get(contact, E_CONTACT_IM_MSN);
++ icqs = e_contact_get(contact, E_CONTACT_IM_ICQ);
+
+ if (aims == NULL && jabbers == NULL && yahoos == NULL &&
+- msns == NULL && icqs == NULL)
++ msns == NULL && icqs == NULL && gadugadus == NULL)
+ {
+ GtkTreeIter iter;
+
+@@ -418,11 +421,12 @@
+ }
+ else
+ {
+- add_ims(dialog, contact, name, aims, "prpl-oscar");
+- add_ims(dialog, contact, name, jabbers, "prpl-jabber");
+- add_ims(dialog, contact, name, yahoos, "prpl-yahoo");
+- add_ims(dialog, contact, name, msns, "prpl-msn");
+- add_ims(dialog, contact, name, icqs, "prpl-oscar");
++ add_ims(dialog, contact, name, aims, "prpl-oscar");
++ add_ims(dialog, contact, name, jabbers, "prpl-jabber");
++ add_ims(dialog, contact, name, yahoos, "prpl-yahoo");
++ add_ims(dialog, contact, name, gadugadus, "prpl-gg");
++ add_ims(dialog, contact, name, msns, "prpl-msn");
++ add_ims(dialog, contact, name, icqs, "prpl-oscar");
+ }
+ }
+ }
+diff -urN gaim-0.78.orig/plugins/gevolution/gevolution.c gaim-0.78/plugins/gevolution/gevolution.c
+--- gaim-0.78.orig/plugins/gevolution/gevolution.c 2004-06-02 14:21:12.153999544 +0200
++++ gaim-0.78/plugins/gevolution/gevolution.c 2004-06-02 14:37:47.552675944 +0200
+@@ -102,11 +102,12 @@
+
+ name = e_contact_get_const(contact, E_CONTACT_FULL_NAME);
+
+- update_ims_from_contact(contact, name, "prpl-oscar", E_CONTACT_IM_AIM);
+- update_ims_from_contact(contact, name, "prpl-jabber", E_CONTACT_IM_JABBER);
+- update_ims_from_contact(contact, name, "prpl-yahoo", E_CONTACT_IM_YAHOO);
+- update_ims_from_contact(contact, name, "prpl-msn", E_CONTACT_IM_MSN);
+- update_ims_from_contact(contact, name, "prpl-oscar", E_CONTACT_IM_ICQ);
++ update_ims_from_contact(contact, name, "prpl-oscar", E_CONTACT_IM_AIM);
++ update_ims_from_contact(contact, name, "prpl-jabber", E_CONTACT_IM_JABBER);
++ update_ims_from_contact(contact, name, "prpl-yahoo", E_CONTACT_IM_YAHOO);
++ update_ims_from_contact(contact, name, "prpl-gg", E_CONTACT_IM_GADUGADU);
++ update_ims_from_contact(contact, name, "prpl-msn", E_CONTACT_IM_MSN);
++ update_ims_from_contact(contact, name, "prpl-oscar", E_CONTACT_IM_ICQ);
+ }
+
+ static void
+diff -urN gaim-0.78.orig/plugins/gevolution/gevo-util.c gaim-0.78/plugins/gevolution/gevo-util.c
+--- gaim-0.78.orig/plugins/gevolution/gevo-util.c 2004-06-02 14:21:12.171996808 +0200
++++ gaim-0.78/plugins/gevolution/gevo-util.c 2004-06-02 14:36:36.564467792 +0200
+@@ -116,6 +116,8 @@
+ protocol_field = E_CONTACT_IM_MSN;
+ else if (!strcmp(protocol_id, "prpl-yahoo"))
+ protocol_field = E_CONTACT_IM_YAHOO;
++ else if (!strcmp(protocol_id, "prpl-gg"))
++ protocol_field = E_CONTACT_IM_GADUGADU;
+ else if (!strcmp(protocol_id, "prpl-jabber"))
+ protocol_field = E_CONTACT_IM_JABBER;
+
+diff -urN gaim-0.78.orig/plugins/gevolution/new_person_dialog.c gaim-0.78/plugins/gevolution/new_person_dialog.c
+--- gaim-0.78.orig/plugins/gevolution/new_person_dialog.c 2004-06-02 14:21:12.171996808 +0200
++++ gaim-0.78/plugins/gevolution/new_person_dialog.c 2004-06-02 14:38:35.239426456 +0200
+@@ -160,6 +160,8 @@
+ }
+ else if (!strcmp(im_service, "prpl-yahoo"))
+ field = E_CONTACT_IM_YAHOO;
++ else if (!strcmp(im_service, "prpl-gg"))
++ field = E_CONTACT_IM_GADUGADU;
+ else if (!strcmp(im_service, "prpl-jabber"))
+ field = E_CONTACT_IM_JABBER;
+ else if (!strcmp(im_service, "prpl-msn"))
+diff -urN gaim-0.78.orig/src/gtkblist.c gaim-0.78/src/gtkblist.c
+--- gaim-0.78.orig/src/gtkblist.c 2004-06-02 14:21:13.721761208 +0200
++++ gaim-0.78/src/gtkblist.c 2004-06-02 14:26:49.642693464 +0200
+@@ -1539,12 +1539,13 @@
+ {
+ char *temp_vcard;
+ char *s, *c;
+- char *alias = NULL;
+- GList *aims = NULL;
+- GList *icqs = NULL;
+- GList *yahoos = NULL;
+- GList *msns = NULL;
+- GList *jabbers = NULL;
++ char *alias = NULL;
++ GList *aims = NULL;
++ GList *icqs = NULL;
++ GList *yahoos = NULL;
++ GList *gadugadus = NULL;
++ GList *msns = NULL;
++ GList *jabbers = NULL;
+
+ s = temp_vcard = g_strdup(vcard);
+
+@@ -1584,7 +1585,7 @@
+ alias = g_strdup(value);
+ else if (!strcmp(field, "X-AIM") || !strcmp(field, "X-ICQ") ||
+ !strcmp(field, "X-YAHOO") || !strcmp(field, "X-MSN") ||
+- !strcmp(field, "X-JABBER"))
++ !strcmp(field, "X-JABBER") || !strcmp(field, "X-GADUGADU"))
+ {
+ char **values = g_strsplit(value, ":", 0);
+ char **im;
+@@ -1597,6 +1598,8 @@
+ icqs = g_list_append(icqs, g_strdup(*im));
+ else if (!strcmp(field, "X-YAHOO"))
+ yahoos = g_list_append(yahoos, g_strdup(*im));
++ else if (!strcmp(field, "X-GADUGADU"))
++ gadugadus = g_list_append(gadugadus, g_strdup(*im));
+ else if (!strcmp(field, "X-MSN"))
+ msns = g_list_append(msns, g_strdup(*im));
+ else if (!strcmp(field, "X-JABBER"))
+@@ -1610,7 +1613,7 @@
+ g_free(temp_vcard);
+
+ if (aims == NULL && icqs == NULL && yahoos == NULL &&
+- msns == NULL && jabbers == NULL)
++ msns == NULL && jabbers == NULL && gadugadus == NULL)
+ {
+ if (alias != NULL)
+ g_free(alias);
+@@ -1618,11 +1621,12 @@
+ return FALSE;
+ }
+
+- add_buddies_from_vcard("prpl-oscar", group, aims, alias);
+- add_buddies_from_vcard("prpl-oscar", group, icqs, alias);
+- add_buddies_from_vcard("prpl-yahoo", group, yahoos, alias);
+- add_buddies_from_vcard("prpl-msn", group, msns, alias);
+- add_buddies_from_vcard("prpl-jabber", group, jabbers, alias);
++ add_buddies_from_vcard("prpl-oscar", group, aims, alias);
++ add_buddies_from_vcard("prpl-oscar", group, icqs, alias);
++ add_buddies_from_vcard("prpl-yahoo", group, yahoos, alias);
++ add_buddies_from_vcard("prpl-gg", group, gadugadus, alias);
++ add_buddies_from_vcard("prpl-msn", group, msns, alias);
++ add_buddies_from_vcard("prpl-jabber", group, jabbers, alias);
+
+ if (alias != NULL)
+ g_free(alias);