Use gdk_pixbuf_copy_area() to copy between pixbufs. Reported by Andrey

* gdk-pixbuf-utils.c (gdk_pixbuf_saturate_and_pixelate):
        Use gdk_pixbuf_copy_area() to copy between pixbufs.
        Reported by Andrey Tsyvarev


svn path=/trunk/; revision=20840
This commit is contained in:
Matthias Clasen 2008-07-15 20:35:48 +00:00
parent 4946240780
commit c70c74c9b8
2 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2008-07-15 Matthias Clasen <mclasen@redhat.com>
Bug 543085 gdk_pixbuf_saturate_and_pixelate may corrupt memory
* gdk-pixbuf-utils.c (gdk_pixbuf_saturate_and_pixelate):
Use gdk_pixbuf_copy_area() to copy between pixbufs.
Reported by Andrey Tsyvarev
2008-07-15 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-io.c: Move the check for wheter to use

View File

@ -190,9 +190,10 @@ gdk_pixbuf_saturate_and_pixelate(const GdkPixbuf *src,
if (saturation == 1.0 && !pixelate) {
if (dest != src)
memcpy (gdk_pixbuf_get_pixels (dest),
gdk_pixbuf_get_pixels (src),
gdk_pixbuf_get_height (src) * gdk_pixbuf_get_rowstride (src));
gdk_pixbuf_copy_area (src, 0, 0,
gdk_pixbuf_get_width (src),
gdk_pixbuf_get_height (src),
dest, 0, 0);
} else {
int i, j, t;
int width, height, has_alpha, src_rowstride, dest_rowstride, bytes_per_pixel;