diff options
Diffstat (limited to 'sci-chemistry/coot/files/0.6.2-libpng15.patch')
-rw-r--r-- | sci-chemistry/coot/files/0.6.2-libpng15.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sci-chemistry/coot/files/0.6.2-libpng15.patch b/sci-chemistry/coot/files/0.6.2-libpng15.patch new file mode 100644 index 000000000000..bddd251698de --- /dev/null +++ b/sci-chemistry/coot/files/0.6.2-libpng15.patch @@ -0,0 +1,29 @@ +--- ccp4mg-utils/ppmutil.cc ++++ ccp4mg-utils/ppmutil.cc +@@ -2494,15 +2494,21 @@ + + pixels = new unsigned char[width*height*colourspace]; + ++ png_colorp palette; ++ int num_trans; ++#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >=4 ++ png_bytep trans_alpha; ++#endif ++ + for (int i=0; i<height; i++){ + if(color_type==PNG_COLOR_TYPE_PALETTE){ + for (int j=0; j<width; j++){ +- pixels[i*width*colourspace+j*colourspace] = png_ptr->palette[row_pointers[i][j]].red; +- pixels[i*width*colourspace+j*colourspace+1] = png_ptr->palette[row_pointers[i][j]].green; +- pixels[i*width*colourspace+j*colourspace+2] = png_ptr->palette[row_pointers[i][j]].blue; +- if(row_pointers[i][j]<png_ptr->num_trans){ ++ pixels[i*width*colourspace+j*colourspace] = palette[row_pointers[i][j]].red; ++ pixels[i*width*colourspace+j*colourspace+1] = palette[row_pointers[i][j]].green; ++ pixels[i*width*colourspace+j*colourspace+2] = palette[row_pointers[i][j]].blue; ++ if(row_pointers[i][j]<num_trans){ + #if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >=4 +- pixels[i*width*colourspace+j*colourspace+3] = png_ptr->trans_alpha[row_pointers[i][j]]; ++ pixels[i*width*colourspace+j*colourspace+3] = trans_alpha[row_pointers[i][j]]; + #else + pixels[i*width*colourspace+j*colourspace+3] = png_ptr->trans[row_pointers[i][j]]; + #endif |