]> granicus.if.org Git - php/commitdiff
MFH: Use correct data types here, and gdImageSaveAlpha for the alpha flag
authorKalle Sommer Nielsen <kalle@php.net>
Sat, 25 Apr 2009 06:22:14 +0000 (06:22 +0000)
committerKalle Sommer Nielsen <kalle@php.net>
Sat, 25 Apr 2009 06:22:14 +0000 (06:22 +0000)
ext/gd/libgd/gd.c

index f2a93b2a2a408f02d6332ad05270c185bf599178..c9141d4333e51b83fe2f5231e918082b67ce2d70 100644 (file)
@@ -26,11 +26,13 @@ extern float floorf(float x);
 #endif
 #if HAVE_FABSF == 0
 /* float fabsf(float x); */
+# undef fabsf
 # define fabsf(x) ((float)(fabs(x)))
 #endif
 #if HAVE_FLOORF == 0
 /* float floorf(float x);*/
-#define floorf(x) ((float)(floor(x)))
+# undef floorf
+# define floorf(x) ((float)(floor(x)))
 #endif
 
 #ifdef _OSD_POSIX              /* BS2000 uses the EBCDIC char set instead of ASCII */
@@ -3870,7 +3872,7 @@ int gdImageConvolution(gdImagePtr src, float filter[3][3], float filter_div, flo
        int         x, y, i, j, new_a;
        float       new_r, new_g, new_b;
        int         new_pxl, pxl=0;
-       gdImagePtr  srcback, srctrans;
+       gdImagePtr  srcback;
        typedef int (*FuncPtr)(gdImagePtr, int, int);
        FuncPtr f;
 
@@ -3883,9 +3885,10 @@ int gdImageConvolution(gdImagePtr src, float filter[3][3], float filter_div, flo
        if (srcback==NULL) {
                return 0;
        }
-       srcback->saveAlphaFlag = 1;
-       srctrans = gdImageColorAllocateAlpha(srcback, 0, 0, 0, 127);
-       gdImageFill(srcback, 0, 0, srctrans);
+
+       gdImageSaveAlpha(srcback, 1);
+       new_pxl = gdImageColorAllocateAlpha(srcback, 0, 0, 0, 127);
+       gdImageFill(srcback, 0, 0, new_pxl);
 
        gdImageCopy(srcback, src,0,0,0,0,src->sx,src->sy);