summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroyuki Ikezoe <poincare@ikezoe.net>2008-05-27 07:06:23 +0000
committerHiroyuki Ikezoe <hiikezoe@src.gnome.org>2008-05-27 07:06:23 +0000
commit1c087132af85ac09b779dcf5f4bf08da0ce49aff (patch)
tree2b7abd9de23652c080b07bbd884002fe48b5f092
parent511b1d13ab34cf4f44bddb510cc0942acdd290d8 (diff)
downloadevolution-data-server-1c087132af85ac09b779dcf5f4bf08da0ce49aff.tar.gz
** Fixes bug #534294.
2008-05-27 Hiroyuki Ikezoe <poincare@ikezoe.net> ** Fixes bug #534294. * camel-folder-search.[ch]: Added accessor to _camel_header_param. * camel-filter-search.c: Use camel_message_info_headers() instead of direct access (i.e. ->headers) since the message does not have headers' pointer if the message is in vitrual folder. svn path=/trunk/; revision=8858
-rw-r--r--camel/ChangeLog9
-rw-r--r--camel/camel-filter-search.c2
-rw-r--r--camel/camel-folder-summary.c2
-rw-r--r--camel/camel-folder-summary.h4
4 files changed, 16 insertions, 1 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog
index 58e7361d4..886e48ec8 100644
--- a/camel/ChangeLog
+++ b/camel/ChangeLog
@@ -1,3 +1,12 @@
+2008-05-27 Hiroyuki Ikezoe <poincare@ikezoe.net>
+
+ ** Fixes bug #534294.
+
+ * camel-folder-search.[ch]: Added accessor to _camel_header_param.
+ * camel-filter-search.c: Use camel_message_info_headers() instead of
+ direct access (i.e. ->headers) since the message does not have
+ headers' pointer if the message is in vitrual folder.
+
2008-05-19 Matthew Barnes <mbarnes@redhat.com>
** Fixes part of bug #531591
diff --git a/camel/camel-filter-search.c b/camel/camel-filter-search.c
index 4b549161c..17e2892fd 100644
--- a/camel/camel-filter-search.c
+++ b/camel/camel-filter-search.c
@@ -649,7 +649,7 @@ junk_test (struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterMessage
d(printf("doing junk test for message from '%s'\n", camel_message_info_from (fms->info)));
if (fms->session->junk_plugin != NULL && (camel_message_info_flags (info) & (CAMEL_MESSAGE_JUNK | CAMEL_MESSAGE_NOTJUNK)) == 0) {
const GHashTable *ht = camel_session_get_junk_headers (fms->session);
- struct _camel_header_param *node = ((CamelMessageInfoBase *)info)->headers;
+ const struct _camel_header_param *node = camel_message_info_headers (info);
while (node && !retval) {
if (node->name) {
diff --git a/camel/camel-folder-summary.c b/camel/camel-folder-summary.c
index 7e1beeaf9..35f3699bd 100644
--- a/camel/camel-folder-summary.c
+++ b/camel/camel-folder-summary.c
@@ -2952,6 +2952,8 @@ info_ptr(const CamelMessageInfo *mi, int id)
return ((const CamelMessageInfoBase *)mi)->user_flags;
case CAMEL_MESSAGE_INFO_USER_TAGS:
return ((const CamelMessageInfoBase *)mi)->user_tags;
+ case CAMEL_MESSAGE_INFO_HEADERS:
+ return ((const CamelMessageInfoBase *)mi)->headers;
default:
abort();
}
diff --git a/camel/camel-folder-summary.h b/camel/camel-folder-summary.h
index 6bf4e98c8..27b0642f3 100644
--- a/camel/camel-folder-summary.h
+++ b/camel/camel-folder-summary.h
@@ -140,6 +140,8 @@ enum {
CAMEL_MESSAGE_INFO_USER_FLAGS,
CAMEL_MESSAGE_INFO_USER_TAGS,
+ CAMEL_MESSAGE_INFO_HEADERS,
+
CAMEL_MESSAGE_INFO_LAST
};
@@ -394,6 +396,8 @@ time_t camel_message_info_time(const CamelMessageInfo *mi, int id);
#define camel_message_info_user_flags(mi) ((const CamelFlag *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_USER_FLAGS))
#define camel_message_info_user_tags(mi) ((const CamelTag *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_USER_TAGS))
+#define camel_message_info_headers(mi) ((const struct _camel_header_param *)camel_message_info_ptr((const CamelMessageInfo *)mi, CAMEL_MESSAGE_INFO_HEADERS))
+
gboolean camel_message_info_user_flag(const CamelMessageInfo *mi, const char *id);
const char *camel_message_info_user_tag(const CamelMessageInfo *mi, const char *id);