diff options
author | Christopher James Lahey <clahey@ximian.com> | 2001-03-22 16:06:30 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2001-03-22 16:06:30 +0800 |
commit | 26d5ee2938ef96d50f8611a0d64c3b396b22a9d9 (patch) | |
tree | 81e4809e63992f0ce88427a3ab49cac6448ebcac /widgets/table | |
parent | fd03473c711a20ed4eaf0e309caff1a28a83010e (diff) | |
download | gsoc2013-evolution-26d5ee2938ef96d50f8611a0d64c3b396b22a9d9.tar.gz gsoc2013-evolution-26d5ee2938ef96d50f8611a0d64c3b396b22a9d9.tar.zst gsoc2013-evolution-26d5ee2938ef96d50f8611a0d64c3b396b22a9d9.zip |
Changed this to derefence the pointers passed in from qsort as we should
2001-03-22 Christopher James Lahey <clahey@ximian.com>
* 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
Diffstat (limited to 'widgets/table')
-rw-r--r-- | widgets/table/e-tree-memory.c | 9 |
1 files changed, 7 insertions, 2 deletions
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); |