pixman: Branch 'master' - 3 commits

Søren Sandmann Pedersen sandmann at kemper.freedesktop.org
Wed Aug 22 15:39:14 PDT 2007


 configure.ac           |    2 +-
 pixman/pixman-image.c  |   12 ++++++++++++
 pixman/pixman-region.c |    5 +++++
 pixman/pixman.h        |    2 ++
 4 files changed, 20 insertions(+), 1 deletion(-)

New commits:
diff-tree 245a5e04eb4bf3b973d32ce5f21e6e2eac00b48b (from parents)
Merge: 25846ed93a87fcaefbfdb397343e986c8f53f997 9c09561a91debfd7c77a39b337b51b2ab16d6da9
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date:   Tue Aug 21 16:31:45 2007 -0400

    Merge branch 'master' of ssh+git://sandmann@git.freedesktop.org/git/pixman

diff-tree 25846ed93a87fcaefbfdb397343e986c8f53f997 (from 3e74bc431908dd42775d8e82ca2e4d589de820cb)
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date:   Tue Aug 21 14:11:54 2007 -0400

    Fix bug 12039, based on Chris Wilson's patch.

diff --git a/pixman/pixman-region.c b/pixman/pixman-region.c
index ffd92d6..94b6dcc 100644
--- a/pixman/pixman-region.c
+++ b/pixman/pixman-region.c
@@ -1507,6 +1507,8 @@ pixman_region_validate(pixman_region16_t
     box = PIXREGION_BOXPTR(&ri[0].reg);
     ri[0].reg.extents = *box;
     ri[0].reg.data->numRects = 1;
+    badreg->extents = *pixman_region_emptyBox;
+    badreg->data = pixman_region_emptyData;
 
     /* Now scatter rectangles into the minimum set of valid regions.  If the
        next rectangle to be added to a region would force an existing rectangle
@@ -1620,6 +1622,8 @@ NextRect: ;
 	    freeData(hreg);
 	}
 	numRI -= half;
+	if (!ret)
+	    goto bail;
     }
     *badreg = ri[0].reg;
     free(ri);
@@ -1629,6 +1633,7 @@ bail:
     for (i = 0; i < numRI; i++)
 	freeData(&ri[i].reg);
     free (ri);
+
     return pixman_break (badreg);
 }
 
diff-tree 3e74bc431908dd42775d8e82ca2e4d589de820cb (from c7bec5898891f3077986c141b48e5ff77f1d5046)
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date:   Fri Aug 17 18:01:09 2007 -0400

    Add pixman_image_set_source_clipping()

diff --git a/configure.ac b/configure.ac
index 2901226..5bb6c27 100644
--- a/configure.ac
+++ b/configure.ac
@@ -42,7 +42,7 @@ AC_PREREQ([2.57])
 
 m4_define([pixman_major], 0)
 m4_define([pixman_minor], 9)
-m4_define([pixman_micro], 4)
+m4_define([pixman_micro], 5)
 
 m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
 
diff --git a/pixman/pixman-image.c b/pixman/pixman-image.c
index 2cbf88c..113ddec 100644
--- a/pixman/pixman-image.c
+++ b/pixman/pixman-image.c
@@ -466,6 +466,18 @@ pixman_image_set_filter (pixman_image_t 
     return TRUE;
 }
 
+void
+pixman_image_set_source_clipping (pixman_image_t  *image,
+				  pixman_bool_t    source_clipping)
+{
+    image_common_t *common = &image->common;
+
+    if (source_clipping)
+	common->src_clip = &common->clip_region;
+    else
+	common->src_clip = &common->full_region;
+}
+
 /* Unlike all the other property setters, this function does not
  * copy the content of indexed. Doing this copying is simply
  * way, way too expensive.
diff --git a/pixman/pixman.h b/pixman/pixman.h
index ae5aa7a..670f25a 100644
--- a/pixman/pixman.h
+++ b/pixman/pixman.h
@@ -470,6 +470,8 @@ pixman_bool_t   pixman_image_set_filter 
 void            pixman_image_set_filter_params       (pixman_image_t               *image,
 						      pixman_fixed_t               *params,
 						      int                           n_params);
+void		pixman_image_set_source_cliping      (pixman_image_t		   *image,
+						      pixman_bool_t                 source_clipping);
 void            pixman_image_set_alpha_map           (pixman_image_t               *image,
 						      pixman_image_t               *alpha_map,
 						      int16_t                       x,


More information about the xorg-commit mailing list