forked from pool/scribus
reapply
OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/scribus?expand=0&rev=101
This commit is contained in:
parent
7a1bbf9d63
commit
3e0b125871
201
0001-Fix-build-error-with-poppler-25.02.0.patch
Normal file
201
0001-Fix-build-error-with-poppler-25.02.0.patch
Normal file
@ -0,0 +1,201 @@
|
||||
From 1a22e78bc589ea0bdabf5ff2c4dea4d7d6f31402 Mon Sep 17 00:00:00 2001
|
||||
From: Jean Ghali <jghali@libertysurf.fr>
|
||||
Date: Tue, 4 Feb 2025 21:41:03 +0000
|
||||
Subject: [PATCH] #17405: Fix build error with poppler 25.02.0
|
||||
|
||||
git-svn-id: svn://scribus.net/branches/Version16x/Scribus@26668 11d20701-8431-0410-a711-e3c959e3b870
|
||||
---
|
||||
scribus/plugins/import/pdf/importpdf.cpp | 4 +-
|
||||
scribus/plugins/import/pdf/importpdfconfig.h | 6 ++
|
||||
scribus/plugins/import/pdf/slaoutput.cpp | 67 ++++++++++++++++++--
|
||||
3 files changed, 68 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
|
||||
index f87275c..a0a5cdf 100644
|
||||
--- a/scribus/plugins/import/pdf/importpdf.cpp
|
||||
+++ b/scribus/plugins/import/pdf/importpdf.cpp
|
||||
@@ -462,11 +462,11 @@ bool PdfPlug::convert(const QString& fn)
|
||||
|
||||
if (dev->isOk())
|
||||
{
|
||||
- OCGs* ocg = pdfDoc->getOptContentConfig();
|
||||
+ POPPLER_CONST_25_02 OCGs* ocg = pdfDoc->getOptContentConfig();
|
||||
if (ocg && ocg->hasOCGs())
|
||||
{
|
||||
QStringList ocgNames;
|
||||
- Array *order = ocg->getOrderArray();
|
||||
+ POPPLER_CONST_25_02 Array *order = ocg->getOrderArray();
|
||||
if (order)
|
||||
{
|
||||
for (int i = 0; i < order->getLength (); ++i)
|
||||
diff --git a/scribus/plugins/import/pdf/importpdfconfig.h b/scribus/plugins/import/pdf/importpdfconfig.h
|
||||
index fd57f25..46ecc58 100644
|
||||
--- a/scribus/plugins/import/pdf/importpdfconfig.h
|
||||
+++ b/scribus/plugins/import/pdf/importpdfconfig.h
|
||||
@@ -27,4 +27,10 @@ for which a new license (GPL+exception) is in place.
|
||||
#define POPPLER_CONST_083
|
||||
#endif
|
||||
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
|
||||
+#define POPPLER_CONST_25_02 const
|
||||
+#else
|
||||
+#define POPPLER_CONST_25_02
|
||||
+#endif
|
||||
+
|
||||
#endif
|
||||
diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
|
||||
index 2b8cf94..6f6bf5f 100644
|
||||
--- a/scribus/plugins/import/pdf/slaoutput.cpp
|
||||
+++ b/scribus/plugins/import/pdf/slaoutput.cpp
|
||||
@@ -1685,7 +1685,7 @@ void SlaOutputDev::stroke(GfxState *state)
|
||||
|
||||
auto& graphicState = m_graphicStack.top();
|
||||
graphicState.strokeColor = getColor(state->getStrokeColorSpace(), state->getStrokeColor(), &graphicState.strokeShade);
|
||||
-
|
||||
+
|
||||
QString output = convertPath(state->getPath());
|
||||
if ((m_Elements->count() != 0) && (output == m_coords)) // Path is the same as in last fill
|
||||
{
|
||||
@@ -2393,8 +2393,9 @@ bool SlaOutputDev::tilingPatternFill(GfxState *state, Gfx * /*gfx*/, Catalog *ca
|
||||
#endif
|
||||
m_graphicStack.top().clipPath = savedClip;
|
||||
m_inPattern--;
|
||||
- gElements = m_groupStack.pop();
|
||||
m_doc->m_Selection->clear();
|
||||
+
|
||||
+ gElements = m_groupStack.pop();
|
||||
if (gElements.Items.count() > 0)
|
||||
{
|
||||
for (int dre = 0; dre < gElements.Items.count(); ++dre)
|
||||
@@ -2932,7 +2933,7 @@ void SlaOutputDev::beginMarkedContent(const char *name, Object *dictRef)
|
||||
{
|
||||
if (dictRef->isNull())
|
||||
return;
|
||||
- OCGs *contentConfig = m_catalog->getOptContentConfig();
|
||||
+ POPPLER_CONST_25_02 OCGs *contentConfig = m_catalog->getOptContentConfig();
|
||||
OptionalContentGroup *oc;
|
||||
if (dictRef->isRef())
|
||||
{
|
||||
@@ -3084,7 +3085,11 @@ void SlaOutputDev::updateFont(GfxState *state)
|
||||
#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 4, 0)
|
||||
int tmpBufLen = 0;
|
||||
#endif
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
|
||||
+ std::vector<int> codeToGID;
|
||||
+#else
|
||||
int *codeToGID = nullptr;
|
||||
+#endif
|
||||
const double *textMat = nullptr;
|
||||
double m11, m12, m21, m22, fontSize;
|
||||
SplashCoord mat[4] = { 1.0, 0.0, 0.0, 1.0 };
|
||||
@@ -3244,10 +3249,20 @@ void SlaOutputDev::updateFont(GfxState *state)
|
||||
}
|
||||
else
|
||||
{
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
|
||||
+ codeToGID.clear();
|
||||
+#else
|
||||
codeToGID = nullptr;
|
||||
+#endif
|
||||
n = 0;
|
||||
}
|
||||
-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
|
||||
+ if (!(fontFile = m_fontEngine->loadTrueTypeFont(std::move(id), fontsrc, std::move(codeToGID), fontLoc->fontNum)))
|
||||
+ {
|
||||
+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
|
||||
+ goto err2;
|
||||
+ }
|
||||
+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
|
||||
if (!(fontFile = m_fontEngine->loadTrueTypeFont(std::move(id), fontsrc, codeToGID, n, fontLoc->fontNum)))
|
||||
{
|
||||
error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
|
||||
@@ -3278,6 +3293,18 @@ void SlaOutputDev::updateFont(GfxState *state)
|
||||
#endif
|
||||
break;
|
||||
case fontCIDType0COT:
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
|
||||
+ if (((GfxCIDFont*) gfxFont)->getCIDToGIDLen() > 0)
|
||||
+ {
|
||||
+ codeToGID = ((GfxCIDFont*) gfxFont)->getCIDToGID();
|
||||
+ n = codeToGID.size();
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ codeToGID.clear();
|
||||
+ n = 0;
|
||||
+ }
|
||||
+#else
|
||||
if (((GfxCIDFont *) gfxFont)->getCIDToGID())
|
||||
{
|
||||
n = ((GfxCIDFont *) gfxFont)->getCIDToGIDLen();
|
||||
@@ -3289,7 +3316,15 @@ void SlaOutputDev::updateFont(GfxState *state)
|
||||
codeToGID = nullptr;
|
||||
n = 0;
|
||||
}
|
||||
-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
|
||||
+#endif
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
|
||||
+ if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(std::move(id), fontsrc, std::move(codeToGID), fontLoc->fontNum)))
|
||||
+ {
|
||||
+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
|
||||
+ gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
|
||||
+ goto err2;
|
||||
+ }
|
||||
+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
|
||||
if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(std::move(id), fontsrc, codeToGID, n, fontLoc->fontNum)))
|
||||
{
|
||||
error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
|
||||
@@ -3307,6 +3342,15 @@ void SlaOutputDev::updateFont(GfxState *state)
|
||||
break;
|
||||
case fontCIDType2:
|
||||
case fontCIDType2OT:
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
|
||||
+ codeToGID.clear();
|
||||
+ n = 0;
|
||||
+ if (((GfxCIDFont*) gfxFont)->getCIDToGIDLen() > 0)
|
||||
+ {
|
||||
+ codeToGID = ((GfxCIDFont*) gfxFont)->getCIDToGID();
|
||||
+ n = codeToGID.size();
|
||||
+ }
|
||||
+#else
|
||||
codeToGID = nullptr;
|
||||
n = 0;
|
||||
if (((GfxCIDFont *) gfxFont)->getCIDToGID())
|
||||
@@ -3318,6 +3362,7 @@ void SlaOutputDev::updateFont(GfxState *state)
|
||||
memcpy(codeToGID, ((GfxCIDFont *)gfxFont)->getCIDToGID(), n * sizeof(*codeToGID));
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
else
|
||||
{
|
||||
#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
|
||||
@@ -3338,7 +3383,9 @@ void SlaOutputDev::updateFont(GfxState *state)
|
||||
#endif
|
||||
if (! ff)
|
||||
goto err2;
|
||||
-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
|
||||
+ codeToGID = ((GfxCIDFont*) gfxFont)->getCodeToGIDMap(ff.get());
|
||||
+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
|
||||
codeToGID = ((GfxCIDFont*) gfxFont)->getCodeToGIDMap(ff.get(), &n);
|
||||
ff.reset();
|
||||
#else
|
||||
@@ -3346,7 +3393,13 @@ void SlaOutputDev::updateFont(GfxState *state)
|
||||
delete ff;
|
||||
#endif
|
||||
}
|
||||
-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
|
||||
+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(25, 2, 0)
|
||||
+ if (!(fontFile = m_fontEngine->loadTrueTypeFont(std::move(id), fontsrc, std::move(codeToGID), fontLoc->fontNum)))
|
||||
+ {
|
||||
+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
|
||||
+ goto err2;
|
||||
+ }
|
||||
+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
|
||||
if (!(fontFile = m_fontEngine->loadTrueTypeFont(std::move(id), fontsrc, codeToGID, n, fontLoc->fontNum)))
|
||||
{
|
||||
error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
|
||||
--
|
||||
2.48.1
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 16 09:05:59 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Add 0001-Fix-build-error-with-poppler-25.02.0.patch: Fix build
|
||||
with poppler 25.02.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 9 18:00:48 UTC 2025 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
|
@ -41,6 +41,8 @@ Source2: scribus.keyring
|
||||
%endif
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch0: 0001-Make-sure-information-displayed-on-the-about-window-.patch
|
||||
# PATCH-FIX-UPSTREAM
|
||||
Patch1: 0001-Fix-build-error-with-poppler-25.02.0.patch
|
||||
BuildRequires: cmake >= 3.14.0
|
||||
BuildRequires: cups-devel
|
||||
BuildRequires: dos2unix
|
||||
|
Loading…
x
Reference in New Issue
Block a user