Don't prohibit access until after the g_sequence_move_range() call. Bug

2007-02-05  Soren Sandmann <sandmann@daimi.au.dk>

	* 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
This commit is contained in:
Soren Sandmann 2007-02-06 04:49:41 +00:00 committed by Søren Sandmann Pedersen
parent 7e240f7ead
commit 840d9bab26
3 changed files with 12 additions and 5 deletions

View File

@ -1,3 +1,11 @@
2007-02-05 Soren Sandmann <sandmann@daimi.au.dk>
* 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 <sandmann@daimi.au.dk>
* glib/gsequence.c (struct _GSequence): Add a new 'real_sequence'

View File

@ -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);

View File

@ -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);
}