--- r.out.png.c.orig 2011-09-17 14:53:18.236298064 +0200 +++ raster/r.out.png/r.out.png.c 2011-09-17 14:56:48.984377680 +0200 @@ -261,10 +261,10 @@ 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)) { png_set_filter(png_ptr, 0, filter); @@ -302,11 +302,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);