From 28b90a0e87a91db4216aa5afd5614ab0207b27ba Mon Sep 17 00:00:00 2001 From: Soren Sandmann Pedersen Date: Wed, 10 Sep 2008 08:26:24 +0000 Subject: [PATCH] Fix bug causing stripes in nautilus selection rectangle --- pixman.spec | 5 +++++ stripes.patch | 27 +++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 stripes.patch diff --git a/pixman.spec b/pixman.spec index a5c6fa0..a814bc1 100644 --- a/pixman.spec +++ b/pixman.spec @@ -15,6 +15,7 @@ URL: http://xorg.freedesktop.org/archive/individual/lib/%{name}-%{ver Source0: pixman-%{version}.tar.gz Source1: make-pixman-snapshot.sh BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Patch0: stripes.patch # BuildRequires: automake autoconf libtool pkgconfig @@ -32,6 +33,7 @@ Development library for pixman. %prep %setup -q +%patch0 -p1 -b .stripes %build %configure --disable-static @@ -61,6 +63,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/pkgconfig/pixman-1.pc %changelog +* Wed Sep 10 2008 Soren Sandmann 0.11.10-2 +- Add patch to fix stripes in the Nautilus selection retangle. + * Sat Sep 6 2008 Soren Sandmann 0.11.10-1 - Upgrade to 0.11.10. Drop altivec patch. diff --git a/stripes.patch b/stripes.patch new file mode 100644 index 0000000..37d3c46 --- /dev/null +++ b/stripes.patch @@ -0,0 +1,27 @@ +commit 6f00d98f87c019849c611d27e9593c5eecfef4c2 +Author: Søren Sandmann Pedersen +Date: Tue Sep 9 10:49:56 2008 -0400 + + Fix for bug 17477. + + over_2x128 was changing the alphaLo and alphaHi arguments, causing + stripes. + +diff --git a/pixman/pixman-sse2.c b/pixman/pixman-sse2.c +index 8a3e4b5..cc08189 100644 +--- a/pixman/pixman-sse2.c ++++ b/pixman/pixman-sse2.c +@@ -244,9 +244,11 @@ invertColors_2x128 (__m128i dataLo, __m128i dataHi, __m128i* invLo, __m128i* inv + static inline void + over_2x128 (__m128i* srcLo, __m128i* srcHi, __m128i* alphaLo, __m128i* alphaHi, __m128i* dstLo, __m128i* dstHi) + { +- negate_2x128 (*alphaLo, *alphaHi, alphaLo, alphaHi); ++ __m128i t1, t2; + +- pixMultiply_2x128 (dstLo, dstHi, alphaLo, alphaHi, dstLo, dstHi); ++ negate_2x128 (*alphaLo, *alphaHi, &t1, &t2); ++ ++ pixMultiply_2x128 (dstLo, dstHi, &t1, &t2, dstLo, dstHi); + + *dstLo = _mm_adds_epu8 (*srcLo, *dstLo); + *dstHi = _mm_adds_epu8 (*srcHi, *dstHi);