View Issue Details

IDProjectCategoryView StatusLast Update
0016502ScribusPDFpublic2021-03-02 20:38
Reporterfoutrelis Assigned Tojghali  
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionno change required 
Product Version1.5.7.svn 
Summary0016502: Build fix needed for poppler 21.03.0
DescriptionSlaOutputDev::tilingPatternFill needs an updated prototype (and implementation) for poppler 21.03.0. [1]

The attached patch fixes the build for me, but I haven't tested it further than that. Please review it.

[1] https://gitlab.freedesktop.org/poppler/poppler/-/commit/2589f3252fe3
TagsNo tags attached.
PatchYes

Activities

foutrelis

2021-03-02 16:24

reporter  

0001-Fix-build-with-poppler-21.3.0.patch (3,103 bytes)   
From 990cf7531eedd5e54abf8b6668c510e1c91ade93 Mon Sep 17 00:00:00 2001
From: Evangelos Foutras <evangelos@foutrelis.com>
Date: Tue, 2 Mar 2021 18:05:08 +0200
Subject: [PATCH] Fix build with poppler 21.3.0

Update SlaOutputDev::tilingPatternFill's prototype after the commit:
https://gitlab.freedesktop.org/poppler/poppler/-/commit/2589f3252fe3
---
 scribus/plugins/import/pdf/slaoutput.cpp | 10 ++++++++++
 scribus/plugins/import/pdf/slaoutput.h   |  4 ++++
 2 files changed, 14 insertions(+)

diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
index 7cbc73e..9fb91f5 100644
--- a/scribus/plugins/import/pdf/slaoutput.cpp
+++ b/scribus/plugins/import/pdf/slaoutput.cpp
@@ -2292,10 +2292,20 @@ GBool SlaOutputDev::patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *sh
 	return gTrue;
 }
 
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(21, 3, 0)
+GBool SlaOutputDev::tilingPatternFill(GfxState *state, Gfx * /*gfx*/, Catalog *cat, GfxTilingPattern *tPat, const double *mat, int x0, int y0, int x1, int y1, double xStep, double yStep)
+#else
 GBool SlaOutputDev::tilingPatternFill(GfxState *state, Gfx * /*gfx*/, Catalog *cat, Object *str, POPPLER_CONST_070 double *pmat, int paintType, int tilingType, Dict *resDict, POPPLER_CONST_070 double *mat, POPPLER_CONST_070 double *bbox, int x0, int y0, int x1, int y1, double xStep, double yStep)
+#endif
 {
 //	qDebug() << "SlaOutputDev::tilingPatternFill";
 	PDFRectangle box;
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(21, 3, 0)
+	const double *bbox = tPat->getBBox();
+	const double *pmat = tPat->getMatrix();
+	Dict *resDict = tPat->getResDict();
+	Object *str = tPat->getContentStream();
+#endif
 	Gfx *gfx;
 	QString id;
 	PageItem *ite;
diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
index 5149f19..4673bcf 100644
--- a/scribus/plugins/import/pdf/slaoutput.h
+++ b/scribus/plugins/import/pdf/slaoutput.h
@@ -197,7 +197,11 @@ public:
 	void stroke(GfxState *state) override;
 	void fill(GfxState *state) override;
 	void eoFill(GfxState *state) override;
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(21, 3, 0)
+	GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, GfxTilingPattern *tPat, const double *mat, int x0, int y0, int x1, int y1, double xStep, double yStep) override;
+#else
 	GBool tilingPatternFill(GfxState *state, Gfx *gfx, Catalog *cat, Object *str, POPPLER_CONST_070 double *pmat, int paintType, int tilingType, Dict *resDict, POPPLER_CONST_070 double *mat, POPPLER_CONST_070 double *bbox, int x0, int y0, int x1, int y1, double xStep, double yStep) override;
+#endif
 	GBool functionShadedFill(GfxState * /*state*/, GfxFunctionShading * /*shading*/) override { qDebug() << "Function Shaded Fill";  return gFalse; }
 	GBool axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax) override;
 	GBool axialShadedSupportExtend(GfxState *state, GfxAxialShading *shading)  override { return (shading->getExtend0() == shading->getExtend1()); }

jghali

2021-03-02 17:28

administrator   ~0048893

Last edited: 2021-03-02 17:29

Thanks, but fixes have already been committed for this on official SVN server (r24537 + r24538).

foutrelis

2021-03-02 18:25

reporter   ~0048894

Ah, that's OK; the GitHub mirror just hadn't updated yet. (I should have checked SVN too. :P)

Thanks for pointing out the commits.

Issue History

Date Modified Username Field Change
2021-03-02 16:24 foutrelis New Issue
2021-03-02 16:24 foutrelis File Added: 0001-Fix-build-with-poppler-21.3.0.patch
2021-03-02 17:28 jghali Assigned To => jghali
2021-03-02 17:28 jghali Status new => resolved
2021-03-02 17:28 jghali Resolution open => no change required
2021-03-02 17:28 jghali Note Added: 0048893
2021-03-02 17:29 jghali Note Edited: 0048893
2021-03-02 17:30 jghali Product Version => 1.5.7.svn
2021-03-02 17:30 jghali Description Updated
2021-03-02 18:25 foutrelis Note Added: 0048894
2021-03-02 20:38 jghali Status resolved => closed