diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2002-04-18 06:33:33 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2002-04-18 06:33:33 +0800 |
commit | e5e67a6644e4d0ac41c270a4bcd18e5c6e2b7667 (patch) | |
tree | 9d68fa73aa15c19302d474bc6c925fd0e4999668 | |
parent | b7dd8f28efc2b6a0867f283e5a9b20ede118ca2e (diff) | |
download | gsoc2013-evolution-e5e67a6644e4d0ac41c270a4bcd18e5c6e2b7667.tar.gz gsoc2013-evolution-e5e67a6644e4d0ac41c270a4bcd18e5c6e2b7667.tar.zst gsoc2013-evolution-e5e67a6644e4d0ac41c270a4bcd18e5c6e2b7667.zip |
If the vee-folder is the unmatched, we don't have our own expression so we
2002-04-17 Jeffrey Stedfast <fejj@ximian.com>
* camel-vee-folder.c (vee_search_by_expression): If the vee-folder
is the unmatched, we don't have our own expression so we cannot
merge them. Instead, just use the expression passed in. This fixes
a Null-Pointer-Read crash on Solaris systems at least.
svn path=/trunk/; revision=16500
-rw-r--r-- | camel/ChangeLog | 7 | ||||
-rw-r--r-- | camel/camel-vee-folder.c | 10 |
2 files changed, 14 insertions, 3 deletions
diff --git a/camel/ChangeLog b/camel/ChangeLog index a3cc3d5422..bccacbea60 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,10 @@ +2002-04-17 Jeffrey Stedfast <fejj@ximian.com> + + * camel-vee-folder.c (vee_search_by_expression): If the vee-folder + is the unmatched, we don't have our own expression so we cannot + merge them. Instead, just use the expression passed in. This fixes + a Null-Pointer-Read crash on Solaris systems at least. + 2002-04-16 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-driver.c (camel_filter_driver_filter_folder): Get diff --git a/camel/camel-vee-folder.c b/camel/camel-vee-folder.c index c7f7be98f1..ab5bcf3c18 100644 --- a/camel/camel-vee-folder.c +++ b/camel/camel-vee-folder.c @@ -601,10 +601,14 @@ vee_search_by_expression(CamelFolder *folder, const char *expression, CamelExcep CamelVeeFolder *vf = (CamelVeeFolder *)folder; struct _CamelVeeFolderPrivate *p = _PRIVATE(vf); GHashTable *searched = g_hash_table_new(NULL, NULL); - + CAMEL_VEE_FOLDER_LOCK(vf, subfolder_lock); - - expr = g_strdup_printf("(and %s %s)", vf->expression, expression); + + if (vf != folder_unmatched) + expr = g_strdup_printf ("(and %s %s)", vf->expression, expression); + else + expr = g_strdup (expression); + node = p->folders; while (node) { CamelFolder *f = node->data; |