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