diff --git a/src/ChangeLog b/src/ChangeLog index 1f27fc7a6f9..0bcf392c58c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2006-03-08 YAMAMOTO Mitsuharu + + * image.c [MAC_OS] (XPutPixel): Set alpha channel bits if pixmap + depth is 32. + [MAC_OS] (XGetPixel): Strip off alpha channel bits if pixmap + depth is 32. + 2006-03-06 Chong Yidong * xdisp.c (handle_invisible_prop): Don't update it->position with diff --git a/src/image.c b/src/image.c index 879bbf745a3..cbdff81eba7 100644 --- a/src/image.c +++ b/src/image.c @@ -194,7 +194,7 @@ XPutPixel (ximage, x, y, pixel) char *base_addr = GetPixBaseAddr (pixmap); short row_bytes = GetPixRowBytes (pixmap); - ((unsigned long *) (base_addr + y * row_bytes))[x] = pixel; + ((unsigned long *) (base_addr + y * row_bytes))[x] = 0xff000000 | pixel; } else if (depth == 1) { @@ -238,7 +238,7 @@ XGetPixel (ximage, x, y) char *base_addr = GetPixBaseAddr (pixmap); short row_bytes = GetPixRowBytes (pixmap); - return ((unsigned long *) (base_addr + y * row_bytes))[x]; + return ((unsigned long *) (base_addr + y * row_bytes))[x] & 0x00ffffff; } else if (depth == 1) {