aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2008-11-03 02:21:05 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-11-03 02:21:05 +0800
commit4052f5078c02b223b32b18dba6524e5b6201f3cf (patch)
tree9c5fe456e194224ec3eb034483f32696baf62195 /mail
parent71b380658b14b5511dc5008a4eda649c97a6cfae (diff)
downloadgsoc2013-evolution-4052f5078c02b223b32b18dba6524e5b6201f3cf.tar
gsoc2013-evolution-4052f5078c02b223b32b18dba6524e5b6201f3cf.tar.gz
gsoc2013-evolution-4052f5078c02b223b32b18dba6524e5b6201f3cf.tar.bz2
gsoc2013-evolution-4052f5078c02b223b32b18dba6524e5b6201f3cf.tar.lz
gsoc2013-evolution-4052f5078c02b223b32b18dba6524e5b6201f3cf.tar.xz
gsoc2013-evolution-4052f5078c02b223b32b18dba6524e5b6201f3cf.tar.zst
gsoc2013-evolution-4052f5078c02b223b32b18dba6524e5b6201f3cf.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=/trunk/; revision=36715
Diffstat (limited to 'mail')
-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 3305c700dd..4285524742 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;
}