aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2008-11-03 02:21:10 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-11-03 02:21:10 +0800
commit81aebc16a3c86dde0b0ce6c6afccc0d4cb6b47bf (patch)
tree2dae54a9028d12deaa79774cdb34385a21b9e09f
parent3bd497d57545cde925bddade1289f7d70b08fae4 (diff)
downloadgsoc2013-evolution-81aebc16a3c86dde0b0ce6c6afccc0d4cb6b47bf.tar
gsoc2013-evolution-81aebc16a3c86dde0b0ce6c6afccc0d4cb6b47bf.tar.gz
gsoc2013-evolution-81aebc16a3c86dde0b0ce6c6afccc0d4cb6b47bf.tar.bz2
gsoc2013-evolution-81aebc16a3c86dde0b0ce6c6afccc0d4cb6b47bf.tar.lz
gsoc2013-evolution-81aebc16a3c86dde0b0ce6c6afccc0d4cb6b47bf.tar.xz
gsoc2013-evolution-81aebc16a3c86dde0b0ce6c6afccc0d4cb6b47bf.tar.zst
gsoc2013-evolution-81aebc16a3c86dde0b0ce6c6afccc0d4cb6b47bf.zip
** Fixes bug #557613
2008-11-02 Matthew Barnes <mbarnes@redhat.com> ** Fixes bug #557613 * mail/em-utils.c (try_open_e_book): Wait for try_open_e_book_cb() to run before freeing the EFlag. It will run regardless of whether the EBook operation completes. svn path=/branches/gnome-2-24/; revision=36716
-rw-r--r--mail/ChangeLog8
-rw-r--r--mail/em-utils.c10
2 files changed, 13 insertions, 5 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index fbf79155d4..29608b147f 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,11 @@
+2008-11-02 Matthew Barnes <mbarnes@redhat.com>
+
+ ** Fixes bug #557613
+
+ * em-utils.c (try_open_e_book):
+ Wait for try_open_e_book_cb() to run before freeing the EFlag.
+ It will run regardless of whether the EBook operation completes.
+
2008-10-31 Matthew Barnes <mbarnes@redhat.com>
** Fixes part of bug #558726 (patch by Frederic van Starbmann)
diff --git a/mail/em-utils.c b/mail/em-utils.c
index 9b091c68cf..bb92d7ad03 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -2081,14 +2081,14 @@ try_open_e_book (EBook *book, gboolean only_if_exists, GError **error)
e_flag_timed_wait (flag, &wait);
}
- e_flag_free (flag);
-
if (canceled) {
g_set_error (error, E_BOOK_ERROR, E_BOOK_ERROR_CANCELLED, "Operation has been canceled.");
e_book_cancel_async_op (book, NULL);
- return FALSE;
}
+ e_flag_wait (flag);
+ e_flag_free (flag);
+
return data.result;
}
@@ -2183,7 +2183,7 @@ em_utils_in_addressbook (CamelInternetAddress *iaddr, gboolean local_only)
stop = err && err->domain == E_BOOK_ERROR && err->code == E_BOOK_ERROR_CANCELLED;
mail_cancel_hook_remove(hook);
g_object_unref(book);
- d(g_warning("Can't get contacts: %s", err->message));
+ g_warning("Can't get contacts: %s", err->message);
g_clear_error(&err);
continue;
}
@@ -2267,7 +2267,7 @@ em_utils_contact_photo (struct _CamelInternetAddress *cia, gboolean local)
|| !e_book_get_contacts(book, query, &contacts, &err)) {
stop = err && err->domain == E_BOOK_ERROR && err->code == E_BOOK_ERROR_CANCELLED;
g_object_unref(book);
- d(g_warning("Can't get contacts: %s", err->message));
+ g_warning("Can't get contacts: %s", err->message);
g_clear_error(&err);
continue;
}