Fix bug causing stripes in nautilus selection rectangle

This commit is contained in:
Soren Sandmann Pedersen 2008-09-10 08:26:24 +00:00
parent 82d13a72d8
commit 28b90a0e87
2 changed files with 32 additions and 0 deletions

View File

@ -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 <sandmann@redhat.com> 0.11.10-2
- Add patch to fix stripes in the Nautilus selection retangle.
* Sat Sep 6 2008 Soren Sandmann <sandmann@redhat.com> 0.11.10-1
- Upgrade to 0.11.10. Drop altivec patch.

27
stripes.patch Normal file
View File

@ -0,0 +1,27 @@
commit 6f00d98f87c019849c611d27e9593c5eecfef4c2
Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
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);