aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/em-utils.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/mail/em-utils.c b/mail/em-utils.c
index cea8871887..2fdee28270 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -1580,12 +1580,16 @@ emu_addr_setup (gpointer user_data)
static void
emu_addr_cancel_book (gpointer data)
{
- EBook *book = data;
+ EBook **pbook = data;
GError *err = NULL;
- /* we dunna care if this fails, its just the best we can try */
- e_book_cancel (book, &err);
- g_clear_error (&err);
+ g_return_if_fail (pbook != NULL);
+
+ if (*pbook) {
+ /* we dunna care if this fails, its just the best we can try */
+ e_book_cancel (*pbook, &err);
+ g_clear_error (&err);
+ }
}
static void
@@ -1750,7 +1754,7 @@ search_address_in_addressbooks (const gchar *address, gboolean local_only, gbool
d(printf(" checking '%s'\n", e_source_get_uri(source)));
- hook_book = mail_cancel_hook_add (emu_addr_cancel_book, book);
+ hook_book = mail_cancel_hook_add (emu_addr_cancel_book, &book);
hook_stop = mail_cancel_hook_add (emu_addr_cancel_stop, &stop);
book = g_hash_table_lookup (emu_books_hash, e_source_peek_uid (source));