[poppler/f18] Support parameterized Gouraud shading

mkasik mkasik at fedoraproject.org
Thu Mar 7 13:48:58 UTC 2013


commit dcceb59ed3cf963eed7746a267e7f712979e05c3
Author: Marek Kasik <mkasik at redhat.com>
Date:   Thu Mar 7 14:47:11 2013 +0100

    Support parameterized Gouraud shading
    
    Resolves: #873668

 poppler-0.20.2-gouraud-shading.patch |   43 ++++++++++++++++++++++++++++++++++
 poppler.spec                         |   10 +++++++-
 2 files changed, 52 insertions(+), 1 deletions(-)
---
diff --git a/poppler-0.20.2-gouraud-shading.patch b/poppler-0.20.2-gouraud-shading.patch
new file mode 100644
index 0000000..3cc1924
--- /dev/null
+++ b/poppler-0.20.2-gouraud-shading.patch
@@ -0,0 +1,43 @@
+From ae8fc0cbfc6123189e17b3cf1286e0540f181646 Mon Sep 17 00:00:00 2001
+From: Adrian Johnson <ajohnson at redneon.com>
+Date: Tue, 30 Oct 2012 21:22:04 +1030
+Subject: [PATCH] cairo: support parameterized Gouraud shading
+
+Bug 56463
+---
+ poppler/CairoOutputDev.cc | 19 +++++++++++++++----
+ 1 file changed, 15 insertions(+), 4 deletions(-)
+
+diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
+index bab4562..2cd67c9 100644
+--- a/poppler/CairoOutputDev.cc
++++ b/poppler/CairoOutputDev.cc
+@@ -945,10 +945,21 @@ GBool CairoOutputDev::gouraudTriangleShadedFill(GfxState *state, GfxGouraudTrian
+   fill_pattern = cairo_pattern_create_mesh ();
+ 
+   for (i = 0; i < shading->getNTriangles(); i++) {
+-    shading->getTriangle(i,
+-			 &x0, &y0, &color[0],
+-			 &x1, &y1, &color[1],
+-			 &x2, &y2, &color[2]);
++    if (shading->isParameterized()) {
++      double color0, color1, color2;
++      shading->getTriangle(i, &x0, &y0, &color0,
++                              &x1, &y1, &color1,
++                              &x2, &y2, &color2);
++      shading->getParameterizedColor(color0, &color[0]);
++      shading->getParameterizedColor(color1, &color[1]);
++      shading->getParameterizedColor(color2, &color[2]);
++    } else {
++      shading->getTriangle(i,
++                           &x0, &y0, &color[0],
++                           &x1, &y1, &color[1],
++                           &x2, &y2, &color[2]);
++
++    }
+ 
+     cairo_mesh_pattern_begin_patch (fill_pattern);
+ 
+-- 
+1.8.1.4
+
diff --git a/poppler.spec b/poppler.spec
index 8f1756b..16c41a3 100644
--- a/poppler.spec
+++ b/poppler.spec
@@ -1,7 +1,7 @@
 Summary: PDF rendering library
 Name: poppler
 Version: 0.20.2
-Release: 10%{?dist}
+Release: 11%{?dist}
 License: (GPLv2 or GPLv3) and GPLv2+ and LGPLv2+ and MIT
 Group: Development/Libraries
 URL:     http://poppler.freedesktop.org/
@@ -33,6 +33,9 @@ Patch3: poppler-0.20.2-CVE-2013-1789.patch
 # https://bugzilla.redhat.com/show_bug.cgi?id=917111
 Patch4: poppler-0.20.2-CVE-2013-1790.patch
 
+# https://bugzilla.redhat.com/show_bug.cgi?id=873668
+Patch5: poppler-0.20.2-gouraud-shading.patch
+
 Requires: poppler-data >= 0.4.0
 BuildRequires: automake libtool
 BuildRequires: gettext-devel
@@ -151,6 +154,7 @@ Requires: %{name}-glib%{?_isa} = %{version}-%{release}
 %patch2 -p1 -b .CVE-2013-1788
 %patch3 -p1 -b .CVE-2013-1789
 %patch4 -p1 -b .CVE-2013-1790
+%patch5 -p1 -b .gouraud-shading
 
 chmod -x goo/GooTimer.h
 
@@ -275,6 +279,10 @@ test "$(pkg-config --modversion poppler-splash)" = "%{version}"
 
 
 %changelog
+* Tue Mar  7 2013 Marek Kasik <mkasik at redhat.com> 0.20.2-11
+- Support parameterized Gouraud shading
+- Resolves: #873668
+
 * Tue Mar  5 2013 Marek Kasik <mkasik at redhat.com> 0.20.2-10
 - Backport several security fixes:
 -   CVE-2013-1788 (Invalid memory accesses)


More information about the scm-commits mailing list