summaryrefslogtreecommitdiffstats
path: root/graphics/enblend-enfuse/libpng14-fix.diff
blob: aa300795041b5261013546956aecc13701e63fd7 (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
40

diff -r e29281594440 -r 9d9b5f3a97cd src/vigra_impex/png.cxx
--- a/src/vigra_impex/png.cxx	Mon Nov 09 11:10:35 2009 +0100
+++ b/src/vigra_impex/png.cxx	Mon Apr 12 14:52:44 2010 +0200
@@ -65,10 +65,20 @@
 #include <png.h>
 }
 
+#define STRINGIFY(m_argument) #m_argument
+
 #if PNG_LIBPNG_VER < 10201
 #error "please update your libpng to at least 1.2.1"
 #endif
 
+#if PNG_LIBPNG_VER >= 10400
+#define PNG_SET_EXPAND_GRAY_1_2_4_TO_8_NAME png_set_expand_gray_1_2_4_to_8
+#else
+#define PNG_SET_EXPAND_GRAY_1_2_4_TO_8_NAME png_set_gray_1_2_4_to_8
+#endif
+#define PNG_SET_EXPAND_GRAY_1_2_4_TO_8_FUNCTION_NAME STRINGIFY(PNG_SET_EXPAND_GRAY_1_2_4_TO_8_NAME)
+#define PNG_SET_EXPAND_GRAY_1_2_4_TO_8(m_image) PNG_SET_EXPAND_GRAY_1_2_4_TO_8_NAME(m_image)
+
 // TODO: per-scanline reading/writing
 
 namespace {
@@ -274,8 +284,8 @@
         // expand gray values to at least one byte size
         if ( color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8 ) {
             if (setjmp(png->jmpbuf))
-                vigra_postcondition( false,png_error_message.insert(0, "error in png_set_gray_1_2_4_to_8(): ").c_str());
-            png_set_gray_1_2_4_to_8(png);
+                vigra_postcondition( false, png_error_message.insert(0, "error in " PNG_SET_EXPAND_GRAY_1_2_4_TO_8_FUNCTION_NAME " (): ").c_str());
+            PNG_SET_EXPAND_GRAY_1_2_4_TO_8(png);
             bit_depth = 8;
         }