diff options
-rw-r--r-- | addressbook/ChangeLog | 6 | ||||
-rw-r--r-- | addressbook/backend/ebook/e-destination.c | 14 |
2 files changed, 19 insertions, 1 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index fa20d8800a..3c09a74880 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,9 @@ +2001-07-24 Jon Trowbridge <trow@ximian.com> + + * backend/ebook/e-destination.c (e_destination_get_name): Added + fallbacks for the name in the case of an e-card, to avoid the + "nameless contact" bug. + 2001-07-24 Chris Toshok <toshok@ximian.com> * gui/widgets/e-minicard.c (remodel): need the EDestination magic diff --git a/addressbook/backend/ebook/e-destination.c b/addressbook/backend/ebook/e-destination.c index f470769a2e..e836922ba3 100644 --- a/addressbook/backend/ebook/e-destination.c +++ b/addressbook/backend/ebook/e-destination.c @@ -394,8 +394,20 @@ e_destination_get_name (const EDestination *dest) priv = (struct _EDestinationPrivate *)dest->priv; /* cast out const */ - if (priv->name == NULL && priv->card != NULL) + if (priv->name == NULL && priv->card != NULL) { + priv->name = e_card_name_to_string (priv->card->name); + + if (priv->name == NULL || *priv->name == '\0') { + g_free (priv->name); + priv->name = g_strdup (priv->card->file_as); + } + + if (priv->name == NULL || *priv->name == '\0') { + g_free (priv->name); + priv->name = e_destination_get_email (dest); + } + } return priv->name; |