cvs: gd(GD_2_0) /libgd/src gd.c /libgd/src/tests CMakeLists.txt Makefile.am /libgd/src/tests/gdimagesetpixel CMakeLists.txt Makefile.am bug00186.c

[email protected] ("Takeshi Abe") Tue, 17 Mar 2009 17:32:09 -0000
Newsgroups php.gd.cvs
Message-ID <cvstabe1237311129@cvsserver>
tabe		Tue Mar 17 17:32:09 2009 UTC

  Added files:                 (Branch: GD_2_0)
    /gd/libgd/src/tests/gdimagesetpixel	CMakeLists.txt Makefile.am 
                                       	bug00186.c 

  Modified files:              
    /gd/libgd/src	gd.c 
    /gd/libgd/src/tests	CMakeLists.txt Makefile.am 
  Log:
  MFH: fixed FS#186
  
http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd.c?r1=1.49.2.27&r2=1.49.2.28&diff_format=u
Index: gd/libgd/src/gd.c
diff -u gd/libgd/src/gd.c:1.49.2.27 gd/libgd/src/gd.c:1.49.2.28
--- gd/libgd/src/gd.c:1.49.2.27	Sun Jan 18 12:48:45 2009
+++ gd/libgd/src/gd.c	Tue Mar 17 17:32:08 2009
@@ -1,4 +1,4 @@
-/* $Id: gd.c,v 1.49.2.27 2009/01/18 12:48:45 tabe Exp $ */
+/* $Id: gd.c,v 1.49.2.28 2009/03/17 17:32:08 tabe Exp $ */
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -929,28 +929,32 @@
 static void
 gdImageTileApply (gdImagePtr im, int x, int y)
 {
+  gdImagePtr tile = im->tile;
   int srcx, srcy;
   int p;
-  if (!im->tile)
+  if (!tile)
     {
       return;
     }
-  srcx = x % gdImageSX (im->tile);
-  srcy = y % gdImageSY (im->tile);
+  srcx = x % gdImageSX (tile);
+  srcy = y % gdImageSY (tile);
   if (im->trueColor)
     {
-      p = gdImageGetTrueColorPixel (im->tile, srcx, srcy);
-			if (p != gdImageGetTransparent (im->tile)) {
-	      gdImageSetPixel (im, x, y, p);
-			}
+      p = gdImageGetPixel (tile, srcx, srcy);
+      if (p != gdImageGetTransparent (tile)) {
+        if (!tile->trueColor) {
+          p = gdTrueColorAlpha(tile->red[p], tile->green[p], tile->blue[p], tile->alpha[p]);
+        }
+        gdImageSetPixel (im, x, y, p);
+      }
     }
   else
     {
-      p = gdImageGetPixel (im->tile, srcx, srcy);
+      p = gdImageGetPixel (tile, srcx, srcy);
       /* Allow for transparency */
-      if (p != gdImageGetTransparent (im->tile))
+      if (p != gdImageGetTransparent (tile))
 	{
-	  if (im->tile->trueColor)
+	  if (tile->trueColor)
 	    {
 	      /* Truecolor tile. Very slow
 	         on a palette destination. */
http://cvs.php.net/viewvc.cgi/gd/libgd/src/tests/CMakeLists.txt?r1=1.1.2.5&r2=1.1.2.6&diff_format=u
Index: gd/libgd/src/tests/CMakeLists.txt
diff -u gd/libgd/src/tests/CMakeLists.txt:1.1.2.5 gd/libgd/src/tests/CMakeLists.txt:1.1.2.6
--- gd/libgd/src/tests/CMakeLists.txt:1.1.2.5	Thu Aug 14 10:48:29 2008
+++ gd/libgd/src/tests/CMakeLists.txt	Tue Mar 17 17:32:09 2009
@@ -40,6 +40,7 @@
 		gdimagecopyrotated
 		gdtiled
 		gdimagerectangle
+		gdimagesetpixel
 		gdimagefilledrectangle
 		gd2
 		gif
http://cvs.php.net/viewvc.cgi/gd/libgd/src/tests/Makefile.am?r1=1.1.2.2&r2=1.1.2.3&diff_format=u
Index: gd/libgd/src/tests/Makefile.am
diff -u gd/libgd/src/tests/Makefile.am:1.1.2.2 gd/libgd/src/tests/Makefile.am:1.1.2.3
--- gd/libgd/src/tests/Makefile.am:1.1.2.2	Thu Aug 14 10:48:29 2008
+++ gd/libgd/src/tests/Makefile.am	Tue Mar 17 17:32:09 2009
@@ -1,7 +1,7 @@
 ## Process this file with automake to produce Makefile.in -*-Makefile-*-
 AUTOMAKE_OPTIONS = foreign 1.7
 
-SUBDIRS = gd2 gdimagecolordeallocate gdimagecolortransparent gdimagefill gdimagefilltoborder gdtest jpeg gdimagearc gdimagecolorexact gdimagecopy gdimagefilledellipse gdimageline gdtiled freetype gdimagecolorclosest gdimagecolorresolve gdimagecopyrotated gdimagefilledrectangle gdimagerectangle gif png xpm
+SUBDIRS = gd2 gdimagecolordeallocate gdimagecolortransparent gdimagefill gdimagefilltoborder gdtest jpeg gdimagearc gdimagecolorexact gdimagecopy gdimagefilledellipse gdimageline gdtiled freetype gdimagecolorclosest gdimagecolorresolve gdimagecopyrotated gdimagefilledrectangle gdimagerectangle gdimagesetpixel gif png xpm
 
 EXTRA_DIST = CMakeLists.txt
 

http://cvs.php.net/viewvc.cgi/gd/libgd/src/tests/gdimagesetpixel/CMakeLists.txt?view=markup&rev=1.1
Index: gd/libgd/src/tests/gdimagesetpixel/CMakeLists.txt
+++ gd/libgd/src/tests/gdimagesetpixel/CMakeLists.txt

http://cvs.php.net/viewvc.cgi/gd/libgd/src/tests/gdimagesetpixel/Makefile.am?view=markup&rev=1.1
Index: gd/libgd/src/tests/gdimagesetpixel/Makefile.am
+++ gd/libgd/src/tests/gdimagesetpixel/Makefile.am

http://cvs.php.net/viewvc.cgi/gd/libgd/src/tests/gdimagesetpixel/bug00186.c?view=markup&rev=1.1
Index: gd/libgd/src/tests/gdimagesetpixel/bug00186.c
+++ gd/libgd/src/tests/gdimagesetpixel/bug00186.c