aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChenthill Palanisamy <pchenthill@novell.com>2009-11-09 15:10:34 +0800
committerChenthill Palanisamy <pchenthill@novell.com>2009-11-09 15:10:34 +0800
commitda16135f08ff62fde4b8c20a043d17b6a4997205 (patch)
treebcfb9ac3c654a145b5f13a471d2c481ae0ac103b
parent6868f715647e33f35d8cbe4a21da91823f0ce289 (diff)
downloadgsoc2013-evolution-da16135f08ff62fde4b8c20a043d17b6a4997205.tar.gz
gsoc2013-evolution-da16135f08ff62fde4b8c20a043d17b6a4997205.tar.zst
gsoc2013-evolution-da16135f08ff62fde4b8c20a043d17b6a4997205.zip
Bug #557613 - evolution crashed with SIGSEGV in try_open_e_book_cb()
-rw-r--r--mail/em-utils.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/mail/em-utils.c b/mail/em-utils.c
index 0eab5f6fac..4f264955bd 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -1665,9 +1665,10 @@ try_open_e_book (EBook *book, gboolean only_if_exists, GError **error)
if (canceled) {
g_clear_error (error);
g_set_error (error, E_BOOK_ERROR, E_BOOK_ERROR_CANCELLED, "Operation has been canceled.");
- e_book_cancel_async_op (book, NULL);
- /* it had been canceled, the above callback may not be called, thus setting flag here */
- e_flag_set (flag);
+ /* if the operation is cancelled sucessfully set the flag else wait. file, groupwise,.. backend's operations
+ are not cancellable */
+ if (e_book_cancel_async_op (book, NULL))
+ e_flag_set (flag);
}
e_flag_wait (flag);