From: Christophe CURIS <christophe.cu...@free.fr>

As reported by Andrew, the compilation of the WRaster broke because
there was an API change in libgif v5.1 versus the v5.0 (something had been
forgotten for DGifCloseFile to be easily used in wrappers for dynamic
languages).

Now, if we have detected that we're in 5.x release, we use the GIFLIB_MINOR
macro to see what the function prototype is (this macro was introduced only
in 4.1.6 so we cannot fully rely on it to detect the version of the
library).

The possible error code is not used because at the place we use the
function we would not be able do do anything more meaningful with it.

Signed-off-by: Christophe CURIS <christophe.cu...@free.fr>
---
 wrlib/load_gif.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/wrlib/load_gif.c b/wrlib/load_gif.c
index 7a6cfc7..d70d044 100644
--- a/wrlib/load_gif.c
+++ b/wrlib/load_gif.c
@@ -81,7 +81,11 @@ RImage *RLoadGIF(const char *file, int index)
        }
 
        if (gif->SWidth < 1 || gif->SHeight < 1) {
+#if (USE_GIF == 5) && (GIFLIB_MINOR >= 1)
+               DGifCloseFile(gif, NULL);
+#else
                DGifCloseFile(gif);
+#endif
                RErrorCode = RERR_BADIMAGEFILE;
                return NULL;
        }
@@ -216,7 +220,11 @@ RImage *RLoadGIF(const char *file, int index)
                free(buffer);
 
        if (gif)
+#if (USE_GIF == 5) && (GIFLIB_MINOR >= 1)
+               DGifCloseFile(gif, NULL);
+#else
                DGifCloseFile(gif);
+#endif
 
        return image;
 }
-- 
2.1.1


-- 
To unsubscribe, send mail to wmaker-dev-unsubscr...@lists.windowmaker.org.

Reply via email to