aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-filter-driver.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2004-09-27 13:30:11 +0800
committerMichael Zucci <zucchi@src.gnome.org>2004-09-27 13:30:11 +0800
commit140a2de7885a0e0e360125bfc1305da01eb68f6a (patch)
treeb94d83a96d614ad8c172095796f50d3feea8a523 /camel/camel-filter-driver.c
parenta03468d97f0aff1cdc2c4ef99e474d10e07df0c5 (diff)
downloadgsoc2013-evolution-140a2de7885a0e0e360125bfc1305da01eb68f6a.tar
gsoc2013-evolution-140a2de7885a0e0e360125bfc1305da01eb68f6a.tar.gz
gsoc2013-evolution-140a2de7885a0e0e360125bfc1305da01eb68f6a.tar.bz2
gsoc2013-evolution-140a2de7885a0e0e360125bfc1305da01eb68f6a.tar.lz
gsoc2013-evolution-140a2de7885a0e0e360125bfc1305da01eb68f6a.tar.xz
gsoc2013-evolution-140a2de7885a0e0e360125bfc1305da01eb68f6a.tar.zst
gsoc2013-evolution-140a2de7885a0e0e360125bfc1305da01eb68f6a.zip
** See bug #63521.
2004-09-21 Not Zed <NotZed@Ximian.com> ** See bug #63521. * camel-movemail.c (camel_movemail): don't clear exception on entry. * camel-folder-search.c (match_words_message): use local exception. * camel-operation.c (camel_operation_cancel_check): soak up all cancellation requests as soon as we get one. (camel_operation_uncancel): soak up all cancellation reqeusts when we uncancel. * camel-uid-cache.c (camel_uid_cache_save): open the file O_TRUNC rather than O_EXCL, otherwise a crash would mean this file never gets updated. (camel_uid_cache_save): block cancellation around writes otherwise we could be interupted from old cancellation. * providers/local/camel-local-folder.c (camel_local_folder_construct): don't clear exception here, just don't pass it to summary load. * providers/pop3/camel-pop3-store.c (pop3_connect): only clear the exception when we received one we handled. * camel-filter-driver.c (close_folder): if exception is already set, don't pass it to folder.sync(). * camel-lock.c (camel_lock_folder): don't clear the exception here, if it came in set its a programming error. * camel-filter-driver.c (camel_filter_driver_filter_message): if the exception is set after evaluating the expression, stop immediately. svn path=/trunk/; revision=27389
Diffstat (limited to 'camel/camel-filter-driver.c')
-rw-r--r--camel/camel-filter-driver.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/camel/camel-filter-driver.c b/camel/camel-filter-driver.c
index cf9889491e..dfb88b84ed 100644
--- a/camel/camel-filter-driver.c
+++ b/camel/camel-filter-driver.c
@@ -937,7 +937,7 @@ close_folder (void *key, void *value, void *data)
g_free (key);
if (folder != FOLDER_INVALID) {
- camel_folder_sync (folder, FALSE, p->ex);
+ camel_folder_sync (folder, FALSE, camel_exception_is_set(p->ex)?NULL : p->ex);
camel_folder_thaw (folder);
camel_object_unref (folder);
}
@@ -1422,6 +1422,9 @@ camel_filter_driver_filter_message (CamelFilterDriver *driver, CamelMimeMessage
goto error;
}
r = e_sexp_eval (p->eval);
+ if (camel_exception_is_set(p->ex))
+ goto error;
+
if (r == NULL) {
camel_exception_setv (ex, 1, _("Error executing filter: %s: %s"),
e_sexp_error (p->eval), node->action);