summaryrefslogtreecommitdiff
path: root/media-libs/stimg/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-libs/stimg/files
reinit the tree, so we can have metadata
Diffstat (limited to 'media-libs/stimg/files')
-rw-r--r--media-libs/stimg/files/stimg-0.1.0-libpng15.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/media-libs/stimg/files/stimg-0.1.0-libpng15.patch b/media-libs/stimg/files/stimg-0.1.0-libpng15.patch
new file mode 100644
index 000000000000..41ae138f1b1f
--- /dev/null
+++ b/media-libs/stimg/files/stimg-0.1.0-libpng15.patch
@@ -0,0 +1,37 @@
+--- src/png.c
++++ src/png.c
+@@ -102,8 +102,8 @@
+ 0x00,
+ NULL);
+
+- alpha = (info_ptr->channels == 4 || info_ptr->channels == 2) ? 1: 0;
+- image = stimg_new(info_ptr->width, info_ptr->height, alpha);
++ alpha = (png_get_channels(png_ptr, info_ptr) == 4 || png_get_channels(png_ptr, info_ptr) == 2) ? 1: 0;
++ image = stimg_new(png_get_image_width(png_ptr, info_ptr), png_get_image_height(png_ptr, info_ptr), alpha);
+
+ if (image == NULL) {
+ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
+@@ -112,18 +112,18 @@
+ }
+
+ row_pointers = png_get_rows(png_ptr, info_ptr);
+- row_size = info_ptr->width * (3 + alpha);
++ row_size = png_get_image_width(png_ptr, info_ptr) * (3 + alpha);
+ data = stimg_get_data(image);
+- if (info_ptr->channels > 2) {
+- for (i = 0; i < info_ptr->height; i++) {
++ if (png_get_channels(png_ptr, info_ptr) > 2) {
++ for (i = 0; i < png_get_image_height(png_ptr, info_ptr); i++) {
+ memcpy(data + row_size * i, row_pointers[i], row_size);
+ }
+ } else {
+ unsigned char *buf = data;
+ int x;
+- for (i = 0; i < info_ptr->height; i++) {
++ for (i = 0; i < png_get_image_height(png_ptr, info_ptr); i++) {
+ x = 0;
+- for (j = 0; j < info_ptr->width; j++) {
++ for (j = 0; j < png_get_image_width(png_ptr, info_ptr); j++) {
+ buf[0] = buf[1] = buf[2] = row_pointers[i][x];
+ if (alpha) {
+ buf[3] = row_pointers[i][++x];