prevent threading problems when a node is an ancestor (parent / great parent),
which mostly happens with circular references (thanks to Phillipe Gramoullé
for finding an sample set of messages)
+2003-06-17 [alfons] 0.9.0claws41
+
+ * src/procmsg.c
+ prevent threading problems when a node is an ancestor (parent / great parent),
+ which mostly happens with circular references (thanks to Phillipe Gramoullé
+ for finding an sample set of messages)
+
2003-06-16 [christoph] 0.9.0claws40
* src/main.c
MICRO_VERSION=0
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=claws40
+EXTRA_VERSION=claws41
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
dnl set $target
parent = NULL;
if (msginfo->inreplyto)
parent = g_hash_table_lookup(msgid_table, msginfo->inreplyto);
- if (parent && parent != node) {
+ /* node should not be the parent, and node should not be an ancestor
+ * of parent (circular reference) */
+ if (parent && parent != node
+ && !g_node_is_ancestor(node, parent)) {
g_node_unlink(node);
g_node_insert_before
(parent, parent->children, node);