File mtpaint-3.40-giflib5.diff of Package mtpaint
diff --git a/src/png.c b/src/png.c
index 2b30821..e2ecf8f 100644
--- a/src/png.c
+++ b/src/png.c
@@ -1509,8 +1509,11 @@ static int load_gif_frames(char *file_name, ani_settings *ani)
ls_settings w_set, init_set;
int res, val, disposal, bpp, cmask, lastzero = FALSE;
-
+#if GIFLIB_MAJOR < 5
if (!(giffy = DGifOpenFileName(file_name))) return (-1);
+#else
+ if (!(giffy = DGifOpenFileName(file_name, NULL))) return (-1);
+#endif
/* Init state structure */
memset(&stat, 0, sizeof(stat));
@@ -1621,7 +1624,11 @@ static int load_gif(char *file_name, ls_settings *settings)
int delay = settings->gif_delay, trans = -1;//, disposal = 0;
+#if GIFLIB_MAJOR < 5
if (!(giffy = DGifOpenFileName(file_name))) return (-1);
+#else
+ if (!(giffy = DGifOpenFileName(file_name, NULL))) return (-1);
+#endif
/* Get global palette */
settings->colors = convert_gif_palette(settings->pal, giffy->SColorMap);
@@ -1682,10 +1689,17 @@ static int save_gif(char *file_name, ls_settings *settings)
nc |= nc >> 1; nc |= nc >> 2; nc |= nc >> 4;
nc += !nc + 1; // No less than 2 colors
+#if GIFLIB_MAJOR < 5
gif_map = MakeMapObject(nc, NULL);
if (!gif_map) return -1;
giffy = EGifOpenFileName(file_name, FALSE);
+#else
+ gif_map = GifMakeMapObject(nc, NULL);
+ if (!gif_map) return -1;
+
+ giffy = EGifOpenFileName(file_name, FALSE, NULL);
+#endif
if (!giffy) goto fail0;
for (i = 0; i < settings->colors; i++)
@@ -1732,7 +1746,12 @@ fail: EGifCloseFile(giffy);
umask(mode);
chmod(file_name, 0666 & ~mode);
#endif
-fail0: FreeMapObject(gif_map);
+fail0:
+#if GIFLIB_MAJOR < 5
+ FreeMapObject(gif_map);
+#else
+ GifFreeMapObject(gif_map);
+#endif
return (msg);
}