summaryrefslogtreecommitdiff
path: root/emulators/vice/patches/patch-ac
blob: 518899f2a43e62c05e6c036a1525a398749cdc5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
$NetBSD: patch-ac,v 1.19 2011/01/24 14:58:41 wiz Exp $

Fix build with png-1.5.
https://sourceforge.net/tracker/index.php?func=detail&aid=3164781&group_id=223021&atid=1057617

--- src/gfxoutputdrv/pngdrv.c.orig	2009-08-09 17:23:44.000000000 +0000
+++ src/gfxoutputdrv/pngdrv.c
@@ -31,6 +31,7 @@
 #include <stdlib.h>
 
 #include <png.h>
+#include <zlib.h>
 
 #include "archdep.h"
 #include "gfxoutput.h"
@@ -76,7 +77,7 @@ static int pngdrv_open(screenshot_t *scr
         return -1;
     }
 
-    if (setjmp(screenshot->gfxoutputdrv_data->png_ptr->jmpbuf)) {
+    if (setjmp(png_jmpbuf(screenshot->gfxoutputdrv_data->png_ptr))) {
         png_destroy_write_struct(&(screenshot->gfxoutputdrv_data->png_ptr),
                                  &(screenshot->gfxoutputdrv_data->info_ptr));
         lib_free(sdata);
@@ -99,10 +100,10 @@ static int pngdrv_open(screenshot_t *scr
     png_init_io(sdata->png_ptr, sdata->fd);
     png_set_compression_level(sdata->png_ptr, Z_BEST_COMPRESSION);
 
-    sdata->info_ptr->width = screenshot->width;
-    sdata->info_ptr->height= screenshot->height;
-    sdata->info_ptr->bit_depth = 8;
-    sdata->info_ptr->color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+    png_set_IHDR(sdata->png_ptr, sdata->info_ptr, screenshot->width,
+                 screenshot->height, 8, PNG_COLOR_TYPE_RGB_ALPHA,
+                 PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
+                 PNG_FILTER_TYPE_DEFAULT);
 
     png_write_info(sdata->png_ptr, sdata->info_ptr);