From 840d9bab2624105e8f18c08b41e8f4b86fc1345e Mon Sep 17 00:00:00 2001 From: Soren Sandmann Date: Tue, 6 Feb 2007 04:49:41 +0000 Subject: [PATCH] Don't prohibit access until after the g_sequence_move_range() call. Bug 2007-02-05 Soren Sandmann * glib/gsequence.c (g_sequence_sort_iter): Don't prohibit access until after the g_sequence_move_range() call. Bug 404759, Christian Persch. * tests/sequence-test.c: Formatting fix. svn path=/trunk/; revision=5325 --- ChangeLog | 8 ++++++++ glib/gsequence.c | 6 +++--- tests/sequence-test.c | 3 +-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index ee1777d..d1fadea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-02-05 Soren Sandmann + + * glib/gsequence.c (g_sequence_sort_iter): Don't prohibit access + until after the g_sequence_move_range() call. Bug 404759, + Christian Persch. + + * tests/sequence-test.c: Formatting fix. + 2007-02-03 Soren Sandmann * glib/gsequence.c (struct _GSequence): Add a new 'real_sequence' diff --git a/glib/gsequence.c b/glib/gsequence.c index c8a073f..e2e1672 100644 --- a/glib/gsequence.c +++ b/glib/gsequence.c @@ -709,12 +709,12 @@ g_sequence_sort_iter (GSequence *seq, tmp = g_sequence_new (NULL); tmp->real_sequence = seq; - tmp->access_prohibited = TRUE; - - seq->access_prohibited = TRUE; g_sequence_move_range (g_sequence_get_begin_iter (tmp), begin, end); + seq->access_prohibited = TRUE; + tmp->access_prohibited = TRUE; + while (g_sequence_get_length (tmp) > 0) { GSequenceNode *node = g_sequence_get_begin_iter (tmp); diff --git a/tests/sequence-test.c b/tests/sequence-test.c index af8a133..2ee7211 100644 --- a/tests/sequence-test.c +++ b/tests/sequence-test.c @@ -517,8 +517,7 @@ run_random_tests (guint32 seed) for (i = 0; i < 15; ++i) { GSequenceIter *iter = - g_sequence_insert_sorted ( - seq->sequence, new_item(seq), compare_items, NULL); + g_sequence_insert_sorted (seq->sequence, new_item(seq), compare_items, NULL); g_queue_insert_sorted (seq->queue, iter, compare_iters, NULL); } -- 2.7.4