]> Pileus Git - ~andy/gtk/commitdiff
free the result of gdk_pixdata_serialize() (bug #89411).
authorSven Neumann <sven@gimp.org>
Wed, 31 Jul 2002 08:17:43 +0000 (08:17 +0000)
committerSven Neumann <neo@src.gnome.org>
Wed, 31 Jul 2002 08:17:43 +0000 (08:17 +0000)
2002-07-31  Sven Neumann  <sven@gimp.org>

* gdk-pixdata.c (gdk_pixdata_to_csource): free the result of
gdk_pixdata_serialize() (bug #89411).

gdk-pixbuf/ChangeLog
gdk-pixbuf/gdk-pixdata.c

index 49fea0fa2f60117b29a97ba1f6a721018defa498..f7ebdd8f693ab996403c7522a5a711a4f3d435b8 100644 (file)
@@ -1,3 +1,8 @@
+2002-07-31  Sven Neumann  <sven@gimp.org>
+
+       * gdk-pixdata.c (gdk_pixdata_to_csource): free the result of
+       gdk_pixdata_serialize() (bug #89411).
+
 Mon Jul 29 23:06:10 2002  Owen Taylor  <otaylor@redhat.com>
 
        * gdk-pixbuf-scale.c: Fix some warnings by adding
index 2320571e2011246869a12f84bd7bbf38ef348975..1cbba1aa0c3742988b1989aa0c713f5b1ca61e90 100644 (file)
@@ -594,7 +594,7 @@ gdk_pixdata_to_csource (GdkPixdata        *pixdata,
   guint bpp, width, height, rowstride;
   gboolean rle_encoded;
   gchar *macro_name;
-  guint8 *img_buffer, *img_buffer_end, *stream;
+  guint8 *img_buffer, *img_buffer_end, *stream = NULL;
   guint stream_length;
   GString *gstring;
   
@@ -725,6 +725,7 @@ gdk_pixdata_to_csource (GdkPixdata        *pixdata,
       guint pix_length = img_buffer_end - img_buffer;
       
       stream = gdk_pixdata_serialize (pixdata, &stream_length);
+      img_buffer = stream;
       img_buffer_end = stream + stream_length;
 
       APPEND (gstring, "%s%s%s %s[] = \n",
@@ -734,34 +735,33 @@ gdk_pixdata_to_csource (GdkPixdata        *pixdata,
       APPEND (gstring, "{ \"\"\n  /* Pixbuf magic (0x%x) */\n  \"",
              GDK_PIXBUF_MAGIC_NUMBER);
       cdata.pos = 3;
-      save_uchar (&cdata, *stream++); save_uchar (&cdata, *stream++);
-      save_uchar (&cdata, *stream++); save_uchar (&cdata, *stream++);
+      save_uchar (&cdata, *img_buffer++); save_uchar (&cdata, *img_buffer++);
+      save_uchar (&cdata, *img_buffer++); save_uchar (&cdata, *img_buffer++);
       APPEND (gstring, "\"\n  /* length: header (%u) + pixel_data (%u) */\n  \"",
              GDK_PIXDATA_HEADER_LENGTH,
              rle_encoded ? pix_length : rowstride * height);
       cdata.pos = 3;
-      save_uchar (&cdata, *stream++); save_uchar (&cdata, *stream++);
-      save_uchar (&cdata, *stream++); save_uchar (&cdata, *stream++);
+      save_uchar (&cdata, *img_buffer++); save_uchar (&cdata, *img_buffer++);
+      save_uchar (&cdata, *img_buffer++); save_uchar (&cdata, *img_buffer++);
       APPEND (gstring, "\"\n  /* pixdata_type (0x%x) */\n  \"",
              pixdata->pixdata_type);
       cdata.pos = 3;
-      save_uchar (&cdata, *stream++); save_uchar (&cdata, *stream++);
-      save_uchar (&cdata, *stream++); save_uchar (&cdata, *stream++);
+      save_uchar (&cdata, *img_buffer++); save_uchar (&cdata, *img_buffer++);
+      save_uchar (&cdata, *img_buffer++); save_uchar (&cdata, *img_buffer++);
       APPEND (gstring, "\"\n  /* rowstride (%u) */\n  \"",
              rowstride);
       cdata.pos = 3;
-      save_uchar (&cdata, *stream++); save_uchar (&cdata, *stream++);
-      save_uchar (&cdata, *stream++); save_uchar (&cdata, *stream++);
+      save_uchar (&cdata, *img_buffer++); save_uchar (&cdata, *img_buffer++);
+      save_uchar (&cdata, *img_buffer++); save_uchar (&cdata, *img_buffer++);
       APPEND (gstring, "\"\n  /* width (%u) */\n  \"", width);
       cdata.pos = 3;
-      save_uchar (&cdata, *stream++); save_uchar (&cdata, *stream++);
-      save_uchar (&cdata, *stream++); save_uchar (&cdata, *stream++);
+      save_uchar (&cdata, *img_buffer++); save_uchar (&cdata, *img_buffer++);
+      save_uchar (&cdata, *img_buffer++); save_uchar (&cdata, *img_buffer++);
       APPEND (gstring, "\"\n  /* height (%u) */\n  \"", height);
       cdata.pos = 3;
-      save_uchar (&cdata, *stream++); save_uchar (&cdata, *stream++);
-      save_uchar (&cdata, *stream++); save_uchar (&cdata, *stream++);
+      save_uchar (&cdata, *img_buffer++); save_uchar (&cdata, *img_buffer++);
+      save_uchar (&cdata, *img_buffer++); save_uchar (&cdata, *img_buffer++);
       APPEND (gstring, "\"\n  /* pixel_data: */\n");
-      img_buffer = stream;
     }
 
   /* pixel_data intro
@@ -812,8 +812,9 @@ gdk_pixdata_to_csource (GdkPixdata        *pixdata,
 
   /* cleanup
    */
+  g_free (stream);
   g_free (macro_name);
-  
+    
   return gstring;
 }