View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0016502 | Scribus | public | 2021-03-02 16:24 | 2021-03-02 20:38 | |
| Reporter | foutrelis | Assigned To | jghali | ||
| Priority | normal | Severity | minor | Reproducibility | N/A |
| Status | closed | Resolution | no change required | ||
| Product Version | 1.5.7.svn | ||||
| Summary | 0016502: Build fix needed for poppler 21.03.0 | ||||
| Description | SlaOutputDev::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 | ||||
| Tags | No tags attached. | ||||
| Attached Files | 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()); }
| ||||
| Patch | Yes | ||||
|
|
Thanks, but fixes have already been committed for this on official SVN server (r24537 + r24538). |
|
|
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. |
| 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 |