+2002-08-13 [christoph] 0.8.1claws57
+
+ * src/procmsg.c
+ ignore thread fix that did not mark all
+ child nodes of a ignored thread as
+ ignored. Does not work perfectly yet,
+ but it is better now
+
2002-08-13 [alfons] 0.8.1claws56
* src/crash.c
return fp;
}
+static gboolean procmsg_ignore_node(GNode *node, gpointer data)
+{
+ MsgInfo *msginfo = (MsgInfo *)node->data;
+
+ procmsg_msginfo_set_flags(msginfo, MSG_IGNORE_THREAD, 0);
+}
+
/* return the reversed thread tree */
GNode *procmsg_get_thread_tree(GSList *mlist)
{
(parent, parent->children, node);
/* CLAWS: ignore thread */
if(MSG_IS_IGNORE_THREAD(((MsgInfo *)parent->data)->flags) && !MSG_IS_IGNORE_THREAD(msginfo->flags)) {
- procmsg_msginfo_set_flags(msginfo, MSG_IGNORE_THREAD, 0);
+ g_node_traverse(node, G_PRE_ORDER, G_TRAVERSE_ALL, -1, procmsg_ignore_node, NULL);
}
}
node = next;
g_node_append(parent, node);
/* CLAWS: ignore thread */
if(MSG_IS_IGNORE_THREAD(((MsgInfo *)parent->data)->flags) && !MSG_IS_IGNORE_THREAD(msginfo->flags)) {
- procmsg_msginfo_set_flags(msginfo, MSG_IGNORE_THREAD, 0);
+ g_node_traverse(node, G_PRE_ORDER, G_TRAVERSE_ALL, -1, procmsg_ignore_node, NULL);
}
}
}
node = next;
}
-
+
g_hash_table_destroy(subject_table);
g_hash_table_destroy(msgid_table);