Don't prohibit access until after the g_sequence_move_range() call. Bug
authorSoren Sandmann <sandmann@daimi.au.dk>
Tue, 6 Feb 2007 04:49:41 +0000 (04:49 +0000)
committerSøren Sandmann Pedersen <ssp@src.gnome.org>
Tue, 6 Feb 2007 04:49:41 +0000 (04:49 +0000)
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

ChangeLog
glib/gsequence.c
tests/sequence-test.c

index ee1777d..d1fadea 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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'
index c8a073f..e2e1672 100644 (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);
index af8a133..2ee7211 100644 (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);
              }