From e5e67a6644e4d0ac41c270a4bcd18e5c6e2b7667 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Wed, 17 Apr 2002 22:33:33 +0000 Subject: If the vee-folder is the unmatched, we don't have our own expression so we 2002-04-17 Jeffrey Stedfast * 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 --- camel/ChangeLog | 7 +++++++ camel/camel-vee-folder.c | 10 +++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'camel') 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 + + * 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 * 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; -- cgit v1.2.3