aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/e-minicard.c
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui/widgets/e-minicard.c')
-rw-r--r--addressbook/gui/widgets/e-minicard.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/addressbook/gui/widgets/e-minicard.c b/addressbook/gui/widgets/e-minicard.c
index 123392df95..6835017a5b 100644
--- a/addressbook/gui/widgets/e-minicard.c
+++ b/addressbook/gui/widgets/e-minicard.c
@@ -774,6 +774,17 @@ remodel( EMinicard *e_minicard )
string = e_card_simple_get(e_minicard->simple, field);
if (string && *string) {
+ /* Magically convert embedded XML into an address. */
+ if (!strncmp (string, "<?xml", 4)) {
+ EDestination *dest = e_destination_import (string);
+ if (dest != NULL) {
+ gchar *new_string = g_strdup (e_destination_get_address (dest));
+ g_free (string);
+ string = new_string;
+ gtk_object_unref (GTK_OBJECT (dest));
+ }
+ }
+
e_minicard->fields = g_list_append(e_minicard->fields, minicard_field);
gtk_object_set(GTK_OBJECT(minicard_field->label),
"field", string,