parent
6c915ec411
commit
ae81195dba
47
poppler-0.63.0-tiling-patterns.patch
Normal file
47
poppler-0.63.0-tiling-patterns.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From 718d428984e3a84fda521c0f5e6d975c7390af2b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Marek Kasik <mkasik@redhat.com>
|
||||||
|
Date: Fri, 6 Apr 2018 15:06:46 +0200
|
||||||
|
Subject: [PATCH] cairo: Fix tiling patterns when pattern cell is too far
|
||||||
|
|
||||||
|
Rendering of tiling pattern which has pattern matrix moving pattern cell
|
||||||
|
far away can fail on allocation of memory. This commit solves the issue by
|
||||||
|
modifying of cairo pattern matrix so that its offset is closer to the path
|
||||||
|
filled by the pattern.
|
||||||
|
|
||||||
|
https://bugs.freedesktop.org/show_bug.cgi?id=105905
|
||||||
|
---
|
||||||
|
poppler/CairoOutputDev.cc | 11 +++++++++++
|
||||||
|
1 file changed, 11 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
|
||||||
|
index 631ab27b..b2e730bf 100644
|
||||||
|
--- a/poppler/CairoOutputDev.cc
|
||||||
|
+++ b/poppler/CairoOutputDev.cc
|
||||||
|
@@ -915,6 +915,8 @@ GBool CairoOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *cat
|
||||||
|
StrokePathClip *strokePathTmp;
|
||||||
|
GBool adjusted_stroke_width_tmp;
|
||||||
|
cairo_pattern_t *maskTmp;
|
||||||
|
+ double xoffset, yoffset;
|
||||||
|
+ double det;
|
||||||
|
|
||||||
|
width = bbox[2] - bbox[0];
|
||||||
|
height = bbox[3] - bbox[1];
|
||||||
|
@@ -976,6 +978,15 @@ GBool CairoOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *cat
|
||||||
|
if (cairo_pattern_status (pattern))
|
||||||
|
return gFalse;
|
||||||
|
|
||||||
|
+ det = pmat[0] * pmat[3] - pmat[1] * pmat[2];
|
||||||
|
+ if (fabs(det) < 0.000001)
|
||||||
|
+ return gFalse;
|
||||||
|
+
|
||||||
|
+ xoffset = round ((pmat[3] * pmat[4] - pmat[2] * pmat[5]) / (xStep * det));
|
||||||
|
+ yoffset = - round ((pmat[1] * pmat[4] - pmat[0] * pmat[5]) / (yStep * det));
|
||||||
|
+ pattern_matrix.x0 -= xoffset * pattern_matrix.xx * xStep + yoffset * pattern_matrix.xy * yStep;
|
||||||
|
+ pattern_matrix.y0 -= xoffset * pattern_matrix.yx * xStep + yoffset * pattern_matrix.yy * yStep;
|
||||||
|
+
|
||||||
|
state->getUserClipBBox(&xMin, &yMin, &xMax, &yMax);
|
||||||
|
cairo_rectangle (cairo, xMin, yMin, xMax - xMin, yMax - yMin);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
Summary: PDF rendering library
|
Summary: PDF rendering library
|
||||||
Name: poppler
|
Name: poppler
|
||||||
Version: 0.63.0
|
Version: 0.63.0
|
||||||
Release: 7%{?dist}
|
Release: 8%{?dist}
|
||||||
License: (GPLv2 or GPLv3) and GPLv2+ and LGPLv2+ and MIT
|
License: (GPLv2 or GPLv3) and GPLv2+ and LGPLv2+ and MIT
|
||||||
URL: http://poppler.freedesktop.org/
|
URL: http://poppler.freedesktop.org/
|
||||||
Source0: http://poppler.freedesktop.org/poppler-%{version}.tar.xz
|
Source0: http://poppler.freedesktop.org/poppler-%{version}.tar.xz
|
||||||
@ -23,6 +23,9 @@ Patch4: poppler-0.63.0-python3.patch
|
|||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1602838
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1602838
|
||||||
Patch5: poppler-0.63.0-negative-object-number.patch
|
Patch5: poppler-0.63.0-negative-object-number.patch
|
||||||
|
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1557355
|
||||||
|
Patch6: poppler-0.63.0-tiling-patterns.patch
|
||||||
|
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: gettext-devel
|
BuildRequires: gettext-devel
|
||||||
@ -253,6 +256,10 @@ test "$(pkg-config --modversion poppler-splash)" = "%{version}"
|
|||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Aug 7 2018 Marek Kasik <mkasik@redhat.com> - 0.63.0-8
|
||||||
|
- Fix tiling patterns when pattern cell is too far
|
||||||
|
- Resolves: #1557355
|
||||||
|
|
||||||
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 0.63.0-7
|
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 0.63.0-7
|
||||||
- Rebuild with fixed binutils
|
- Rebuild with fixed binutils
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user