melib: fix duplication of thread nodes in update envelope event
parent
db6e83b755
commit
ba6c259820
|
@ -1020,11 +1020,15 @@ impl Threads {
|
||||||
tree = &mut temp_tree[new_id].children;
|
tree = &mut temp_tree[new_id].children;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Add new child */
|
let pos = if let Some(pos) = tree.iter().position(|v| v.id == id) {
|
||||||
let tree_node = ThreadTree::new(id);
|
pos
|
||||||
tree.push(tree_node);
|
} else {
|
||||||
let new_id = tree.len() - 1;
|
/* Add new child */
|
||||||
node_build(&mut tree[new_id], id, &mut self.thread_nodes, 1, collection);
|
let tree_node = ThreadTree::new(id);
|
||||||
|
tree.push(tree_node);
|
||||||
|
tree.len() - 1
|
||||||
|
};
|
||||||
|
node_build(&mut tree[pos], id, &mut self.thread_nodes, 1, collection);
|
||||||
}
|
}
|
||||||
// FIXME: use insertion according to self.sort etc instead of sorting everytime
|
// FIXME: use insertion according to self.sort etc instead of sorting everytime
|
||||||
self.inner_sort_by(*self.sort.borrow(), collection);
|
self.inner_sort_by(*self.sort.borrow(), collection);
|
||||||
|
|
Loading…
Reference in New Issue