Blob Blame History Raw
diff -Nur grass-6.4.1/raster/r.out.png/r.out.png.c grass-6.4.1-r.out.png/raster/r.out.png/r.out.png.c
--- grass-6.4.1/raster/r.out.png/r.out.png.c	2010-10-17 19:15:31.000000000 +0200
+++ grass-6.4.1-r.out.png/raster/r.out.png/r.out.png.c	2011-11-23 22:57:47.382158068 +0100
@@ -261,9 +261,11 @@
     png_info_init(info_ptr);
 #endif
     png_init_io(png_ptr, fp);
-    info_ptr->width = win.cols;
-    info_ptr->height = win.rows;
-    info_ptr->bit_depth = depth;
+
+    png_set_IHDR(png_ptr, info_ptr, win.cols, win.rows, depth, 
+            do_alpha ? PNG_COLOR_TYPE_RGB_ALPHA : PNG_COLOR_TYPE_RGB, 
+            PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, 
+            PNG_FILTER_TYPE_DEFAULT); 
 
     /* explicit filter-type (or none) required */
     if ((filter >= 0) && (filter <= 4)) {
@@ -272,7 +274,7 @@
 
     png_set_compression_level(png_ptr, png_compr);
 
-    if(do_alpha) {
+    if (do_alpha) {
 	png_color_16 background_color;
 	background_color.red = (png_uint_16)def_red;
 	background_color.green = (png_uint_16)def_grn;
@@ -302,11 +304,6 @@
 	/*if(!gscale->answer){ *//* 24BIT COLOR IMAGE */
 
 	if (TRUE) {
-	    if (do_alpha)
-		info_ptr->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
-	    else
-		info_ptr->color_type = PNG_COLOR_TYPE_RGB;
-
 	    /* write the png-info struct */
 	    png_write_info(png_ptr, info_ptr);