pixman: Branch '0.16' - 2 commits

Søren Sandmann Pedersen sandmann at kemper.freedesktop.org
Tue Sep 15 05:55:48 PDT 2009


 pixman/pixman-bits-image.c |   10 +++++-----
 pixman/pixman-general.c    |    6 +++---
 2 files changed, 8 insertions(+), 8 deletions(-)

New commits:
commit 8138f908aa10e5581f83ebfb5f53d81ad39437bd
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date:   Tue Sep 15 07:43:23 2009 -0400

    Revert "Enable component alpha on solid masks."
    
    For consistency we will probably want to allow component alpha to be
    set on all masks at some point, but not in the stable branch, and this
    commit only enabled it for solid images anyway.
    
    This reverts commit 29e22cf38e8abc54b9dddbdeb3909d02866a82a0.

diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c
index 5c40103..3ead3da 100644
--- a/pixman/pixman-general.c
+++ b/pixman/pixman-general.c
@@ -159,9 +159,9 @@ general_composite_rect  (pixman_implementation_t *imp,
         fetch_src                       &&
         fetch_mask                      &&
         mask                            &&
-        mask->common.component_alpha	&&
-        (mask->common.type == SOLID ||
-	 (mask->common.type == BITS && PIXMAN_FORMAT_RGB (mask->bits.format)));
+        mask->common.type == BITS       &&
+        mask->common.component_alpha    &&
+        PIXMAN_FORMAT_RGB (mask->bits.format);
 
     if (wide)
     {
commit 77627554bcc81f4aa3cb81f8158075aa6f20eca1
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date:   Thu Sep 10 21:33:24 2009 -0400

    Fix off-by-one error in source_image_needs_out_of_bounds_workaround()
    
    If extents->x2/y2 are equal to image->width/height, then the clip is
    still inside the drawable, so no workaround is necessary.

diff --git a/pixman/pixman-bits-image.c b/pixman/pixman-bits-image.c
index 6b80189..4e78ce1 100644
--- a/pixman/pixman-bits-image.c
+++ b/pixman/pixman-bits-image.c
@@ -612,14 +612,14 @@ source_image_needs_out_of_bounds_workaround (bits_image_t *image)
     {
 	if (!image->common.client_clip)
 	{
-	    /* There is no client clip, so the drawable in question
-	     * is a window if the clip region extends beyond the
-	     * drawable geometry.
+	    /* There is no client clip, so if the clip region extends beyond the
+	     * drawable geometry, it must be because the X server generated the
+	     * bogus clip region.
 	     */
 	    const pixman_box32_t *extents = pixman_region32_extents (&image->common.clip_region);
 
-	    if (extents->x1 >= 0 && extents->x2 < image->width &&
-		extents->y1 >= 0 && extents->y2 < image->height)
+	    if (extents->x1 >= 0 && extents->x2 <= image->width &&
+		extents->y1 >= 0 && extents->y2 <= image->height)
 	    {
 		return FALSE;
 	    }


More information about the xorg-commit mailing list