aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2002-04-18 06:33:33 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2002-04-18 06:33:33 +0800
commite5e67a6644e4d0ac41c270a4bcd18e5c6e2b7667 (patch)
tree9d68fa73aa15c19302d474bc6c925fd0e4999668
parentb7dd8f28efc2b6a0867f283e5a9b20ede118ca2e (diff)
downloadgsoc2013-evolution-e5e67a6644e4d0ac41c270a4bcd18e5c6e2b7667.tar
gsoc2013-evolution-e5e67a6644e4d0ac41c270a4bcd18e5c6e2b7667.tar.gz
gsoc2013-evolution-e5e67a6644e4d0ac41c270a4bcd18e5c6e2b7667.tar.bz2
gsoc2013-evolution-e5e67a6644e4d0ac41c270a4bcd18e5c6e2b7667.tar.lz
gsoc2013-evolution-e5e67a6644e4d0ac41c270a4bcd18e5c6e2b7667.tar.xz
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/ChangeLog7
-rw-r--r--camel/camel-vee-folder.c10
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;