aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/e-addressbook-table-adapter.c
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/gui/widgets/e-addressbook-table-adapter.c')
-rw-r--r--addressbook/gui/widgets/e-addressbook-table-adapter.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/addressbook/gui/widgets/e-addressbook-table-adapter.c b/addressbook/gui/widgets/e-addressbook-table-adapter.c
index 980e0adbcc..f055b34a03 100644
--- a/addressbook/gui/widgets/e-addressbook-table-adapter.c
+++ b/addressbook/gui/widgets/e-addressbook-table-adapter.c
@@ -111,10 +111,22 @@ addressbook_value_at (ETableModel *etc, int col, int row)
EAddressbookTableAdapter *adapter = E_ADDRESSBOOK_TABLE_ADAPTER(etc);
EAddressbookTableAdapterPrivate *priv = adapter->priv;
const char *value;
+
if ( col >= COLS || row >= e_addressbook_model_card_count (priv->model) )
return NULL;
value = e_card_simple_get_const(priv->simples[row], col);
+
+ if (value && !strncmp (value, "<?xml", 5)) {
+ EDestination *dest = e_destination_import (value);
+ if (dest) {
+ g_free ((gchar *) value);
+ value = g_strdup (e_destination_get_address (dest));
+ gtk_object_unref (GTK_OBJECT (dest));
+ }
+ }
+
+
return (void *)(value ? value : "");
}