From 26d5ee2938ef96d50f8611a0d64c3b396b22a9d9 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Thu, 22 Mar 2001 08:06:30 +0000 Subject: Changed this to derefence the pointers passed in from qsort as we should 2001-03-22 Christopher James Lahey * e-tree-memory.c (sort_callback): Changed this to derefence the pointers passed in from qsort as we should instead of just casting them. (e_tree_memory_sort_node): Set the first_child and last_child of the node changed. svn path=/trunk/; revision=8882 --- widgets/table/e-tree-memory.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'widgets') diff --git a/widgets/table/e-tree-memory.c b/widgets/table/e-tree-memory.c index 20d96ad6e6..b14beafb15 100644 --- a/widgets/table/e-tree-memory.c +++ b/widgets/table/e-tree-memory.c @@ -556,8 +556,8 @@ typedef struct { static int sort_callback(const void *data1, const void *data2, gpointer user_data) { - ETreePath path1 = (void *) data1; - ETreePath path2 = (void *) data2; + ETreePath path1 = *(ETreePath *)data1; + ETreePath path2 = *(ETreePath *)data2; MemoryAndClosure *mac = user_data; return (*mac->callback) (mac->memory, path1, path2, mac->closure); } @@ -596,6 +596,7 @@ e_tree_memory_sort_node (ETreeMemory *etmm, e_sort (children, count, sizeof (ETreeMemoryPath *), sort_callback, &mac); + path->first_child = NULL; last = NULL; for (i = 0; i < count; @@ -603,11 +604,15 @@ e_tree_memory_sort_node (ETreeMemory *etmm, children[i]->prev_sibling = last; if (last) last->next_sibling = children[i]; + else + path->first_child = children[i]; last = children[i]; } if (last) last->next_sibling = NULL; + path->last_child = last; + g_free(children); e_tree_model_node_changed(E_TREE_MODEL(etmm), node); -- cgit v1.2.3