[gegl] buffer leaks in make check



commit d8cdb9a623bfc95f3a9a7e3ff9dd28153d03c2d1
Author: Massimo Valentini <mvalentini src gnome org>
Date:   Wed Aug 17 17:27:31 2011 +0200

    buffer leaks in make check

 gegl/buffer/gegl-buffer-linear.c                   |    2 ++
 tests/buffer/buffer-test.c                         |    6 +++++-
 tests/buffer/tests/linear_from_data.c              |    2 +-
 tests/buffer/tests/linear_from_data_rows.c         |    2 +-
 tests/buffer/tests/linear_modify.c                 |    2 +-
 tests/buffer/tests/linear_new.c                    |    2 +-
 tests/buffer/tests/linear_proxy_modify.c           |    2 +-
 tests/buffer/tests/test_gegl_buffer_iterator1sub.c |    2 +-
 tests/buffer/tests/test_gegl_buffer_iterator2.c    |    2 +-
 tests/buffer/tests/test_gegl_buffer_iterator2sub.c |    2 +-
 tests/buffer/tests/test_gegl_buffer_iterator3.c    |    2 +-
 tests/buffer/tests/test_gegl_buffer_iterator3sub.c |    2 +-
 tests/buffer/tests/test_gegl_buffer_iterator4.c    |    2 +-
 tests/buffer/tests/test_gegl_buffer_iterator4sub.c |    2 +-
 14 files changed, 19 insertions(+), 13 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer-linear.c b/gegl/buffer/gegl-buffer-linear.c
index 739fc16..fa54dca 100644
--- a/gegl/buffer/gegl-buffer-linear.c
+++ b/gegl/buffer/gegl-buffer-linear.c
@@ -92,6 +92,8 @@ gegl_buffer_linear_new_from_data (const gpointer       data,
     tile->size       = babl_format_get_bytes_per_pixel (format) * rowstride * extent->height;
     tile->next_shared = tile;
     tile->prev_shared = tile;
+    tile->destroy_notify      = (void (*) (gpointer, gpointer)) destroy_fn;
+    tile->destroy_notify_data = destroy_fn_data;
 
     if (buffer->tile_storage->cache)
       gegl_tile_handler_cache_insert (buffer->tile_storage->cache, tile, 0, 0, 0);
diff --git a/tests/buffer/buffer-test.c b/tests/buffer/buffer-test.c
index 3c1fbfc..ac7bc0c 100644
--- a/tests/buffer/buffer-test.c
+++ b/tests/buffer/buffer-test.c
@@ -31,6 +31,7 @@
 #define print(args)		  G_STMT_START {		\
 	gchar *_fmt = g_strdup_printf args;			\
 	g_string_append (gstring, _fmt);			\
+	g_free (_fmt);						\
 				  } G_STMT_END
 #define print_buffer(buffer)      print_buffer_internal (gstring, buffer)
 #define print_linear_buffer_u8(w,h,b)  print_linear_buffer_internal_u8 (gstring,w,h,b)
@@ -308,7 +309,9 @@ gint main (gint argc, gchar **argv)
             {
               if (g_str_equal (argv[j], test_names[i]))
                 {
-                  printf ("%s", tests[i]());
+                  ret=tests[i]();
+                  printf ("%s", ret);
+                  g_free (ret);
                 }
             }
         }
@@ -319,6 +322,7 @@ gint main (gint argc, gchar **argv)
           ret=tests[i]();
           sprintf (output_file, "output/%s.buf", test_names[i]);
           g_file_set_contents (output_file, ret, -1, NULL);
+          g_free (ret);
         }
     }
 
diff --git a/tests/buffer/tests/linear_from_data.c b/tests/buffer/tests/linear_from_data.c
index 3625ca4..65c79a7 100644
--- a/tests/buffer/tests/linear_from_data.c
+++ b/tests/buffer/tests/linear_from_data.c
@@ -16,6 +16,6 @@ TEST ()
                                              G_CALLBACK(g_free), /* destroy_notify */
                                              NULL   /* destroy_notify_data */);
   print_buffer (buffer);
-  test_end ();
   gegl_buffer_destroy (buffer);
+  test_end ();
 }
diff --git a/tests/buffer/tests/linear_from_data_rows.c b/tests/buffer/tests/linear_from_data_rows.c
index 594befd..0ff123c 100644
--- a/tests/buffer/tests/linear_from_data_rows.c
+++ b/tests/buffer/tests/linear_from_data_rows.c
@@ -16,6 +16,6 @@ TEST ()
                                              G_CALLBACK(g_free), /* destroy_notify */
                                              NULL   /* destroy_notify_data */);
   print_buffer (buffer);
-  test_end ();
   gegl_buffer_destroy (buffer);
+  test_end ();
 }
diff --git a/tests/buffer/tests/linear_modify.c b/tests/buffer/tests/linear_modify.c
index c223a10..4398405 100644
--- a/tests/buffer/tests/linear_modify.c
+++ b/tests/buffer/tests/linear_modify.c
@@ -28,6 +28,6 @@ TEST ()
   fill_rect (buffer, &roi, 0.2);
 
   print_buffer (buffer);
-  test_end ();
   gegl_buffer_destroy (buffer);
+  test_end ();
 }
diff --git a/tests/buffer/tests/linear_new.c b/tests/buffer/tests/linear_new.c
index 2f62614..ec6f94e 100644
--- a/tests/buffer/tests/linear_new.c
+++ b/tests/buffer/tests/linear_new.c
@@ -11,6 +11,6 @@ TEST ()
   roi.x+=20;
   fill_rect (buffer, &roi, 0.2);
   print_buffer (buffer);
-  test_end ();
   gegl_buffer_destroy (buffer);
+  test_end ();
 }
diff --git a/tests/buffer/tests/linear_proxy_modify.c b/tests/buffer/tests/linear_proxy_modify.c
index 6846fab..c6c4650 100644
--- a/tests/buffer/tests/linear_proxy_modify.c
+++ b/tests/buffer/tests/linear_proxy_modify.c
@@ -28,6 +28,6 @@ TEST ()
   fill_rect (buffer, &roi, 0.2);
 
   print_buffer (buffer);
-  test_end ();
   gegl_buffer_destroy (buffer);
+  test_end ();
 }
diff --git a/tests/buffer/tests/test_gegl_buffer_iterator1sub.c b/tests/buffer/tests/test_gegl_buffer_iterator1sub.c
index 26f81cd..a68c1e9 100644
--- a/tests/buffer/tests/test_gegl_buffer_iterator1sub.c
+++ b/tests/buffer/tests/test_gegl_buffer_iterator1sub.c
@@ -11,7 +11,7 @@ TEST ()
 
   fill_rect (sub, &roi, 0.5);
   print_buffer (buffer);
-  test_end ();
   gegl_buffer_destroy (sub);
   gegl_buffer_destroy (buffer);
+  test_end ();
 }
diff --git a/tests/buffer/tests/test_gegl_buffer_iterator2.c b/tests/buffer/tests/test_gegl_buffer_iterator2.c
index ec726b8..0aa8dda 100644
--- a/tests/buffer/tests/test_gegl_buffer_iterator2.c
+++ b/tests/buffer/tests/test_gegl_buffer_iterator2.c
@@ -7,6 +7,6 @@ TEST ()
   buffer = gegl_buffer_new (&extent, babl_format ("Y float"));
   fill_rect (buffer, &roi, 0.5);
   print_buffer (buffer);
-  test_end ();
   gegl_buffer_destroy (buffer);
+  test_end ();
 }
diff --git a/tests/buffer/tests/test_gegl_buffer_iterator2sub.c b/tests/buffer/tests/test_gegl_buffer_iterator2sub.c
index f09c831..1b2af4b 100644
--- a/tests/buffer/tests/test_gegl_buffer_iterator2sub.c
+++ b/tests/buffer/tests/test_gegl_buffer_iterator2sub.c
@@ -10,7 +10,7 @@ TEST ()
   sub = gegl_buffer_create_sub_buffer (buffer, &sextent);
   fill_rect (sub, &roi, 0.5);
   print_buffer (buffer);
-  test_end ();
   gegl_buffer_destroy (sub);
   gegl_buffer_destroy (buffer);
+  test_end ();
 }
diff --git a/tests/buffer/tests/test_gegl_buffer_iterator3.c b/tests/buffer/tests/test_gegl_buffer_iterator3.c
index c1ebe68..2040af8 100644
--- a/tests/buffer/tests/test_gegl_buffer_iterator3.c
+++ b/tests/buffer/tests/test_gegl_buffer_iterator3.c
@@ -7,6 +7,6 @@ TEST ()
   buffer = gegl_buffer_new (&extent, babl_format ("Y float"));
   fill_rect (buffer, &roi, 0.5);
   print_buffer (buffer);
-  test_end ();
   gegl_buffer_destroy (buffer);
+  test_end ();
 }
diff --git a/tests/buffer/tests/test_gegl_buffer_iterator3sub.c b/tests/buffer/tests/test_gegl_buffer_iterator3sub.c
index 2327ee9..b2b0daa 100644
--- a/tests/buffer/tests/test_gegl_buffer_iterator3sub.c
+++ b/tests/buffer/tests/test_gegl_buffer_iterator3sub.c
@@ -10,7 +10,7 @@ TEST ()
   sub = gegl_buffer_create_sub_buffer (buffer, &sextent);
   fill_rect (sub, &roi, 0.5);
   print_buffer (buffer);
-  test_end ();
   gegl_buffer_destroy (sub);
   gegl_buffer_destroy (buffer);
+  test_end ();
 }
diff --git a/tests/buffer/tests/test_gegl_buffer_iterator4.c b/tests/buffer/tests/test_gegl_buffer_iterator4.c
index cb367b9..4558a08 100644
--- a/tests/buffer/tests/test_gegl_buffer_iterator4.c
+++ b/tests/buffer/tests/test_gegl_buffer_iterator4.c
@@ -7,6 +7,6 @@ TEST ()
   buffer = gegl_buffer_new (&extent, babl_format ("Y float"));
   fill_rect (buffer, &roi, 0.5);
   print_buffer (buffer);
-  test_end ();
   gegl_buffer_destroy (buffer);
+  test_end ();
 }
diff --git a/tests/buffer/tests/test_gegl_buffer_iterator4sub.c b/tests/buffer/tests/test_gegl_buffer_iterator4sub.c
index 6669040..62ae633 100644
--- a/tests/buffer/tests/test_gegl_buffer_iterator4sub.c
+++ b/tests/buffer/tests/test_gegl_buffer_iterator4sub.c
@@ -10,7 +10,7 @@ TEST ()
   sub = gegl_buffer_create_sub_buffer (buffer, &sextent);
   fill_rect (sub, &roi, 0.5);
   print_buffer (buffer);
-  test_end ();
   gegl_buffer_destroy (sub);
   gegl_buffer_destroy (buffer);
+  test_end ();
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]