Hi,

this diff fixes the build of scribus with poppler-26.01.0 (plain
s/reset/rewind/ and some conversions from simle array to a std::array).

Any objections?

Ciao,
        Kili

Index: patches/patch-scribus_plugins_import_pdf_slaoutput_cpp
===================================================================
RCS file: 
/cvs/ports/print/scribus/patches/patch-scribus_plugins_import_pdf_slaoutput_cpp,v
diff -u -p -r1.20 patch-scribus_plugins_import_pdf_slaoutput_cpp
--- patches/patch-scribus_plugins_import_pdf_slaoutput_cpp      30 Oct 2025 
20:57:55 -0000      1.20
+++ patches/patch-scribus_plugins_import_pdf_slaoutput_cpp      8 Jan 2026 
19:02:23 -0000
@@ -1,7 +1,7 @@
 
https://github.com/scribusproject/scribus/commit/188d030acd0cb71e89dbb57695fe52158b6a0959
 (and local changes for FoFiTrueType::make())
 
-Add fixes for poppler-25.09.1 and 25.10.0.
+Add fixes for poppler-25.09.1, 25.10.0 and 26.01.0.
 
 Index: scribus/plugins/import/pdf/slaoutput.cpp
 --- scribus/plugins/import/pdf/slaoutput.cpp.orig
@@ -56,6 +56,60 @@ Index: scribus/plugins/import/pdf/slaout
        Dict *resDict = tPat->getResDict();
  
        PDFRectangle box;
+@@ -2347,7 +2347,7 @@ void SlaOutputDev::drawImageMask(GfxState *state, Obje
+ {
+ //    qDebug() << "Draw Image Mask";
+       auto imgStr = std::make_unique<ImageStream>(str, width, 1, 1);
+-      imgStr->reset();
++      imgStr->rewind();
+ #ifdef WORDS_BIGENDIAN
+       QImage image(width, height, QImage::Format_Mono);
+ #else
+@@ -2421,7 +2421,7 @@ void SlaOutputDev::drawSoftMaskedImage(GfxState *state
+ {
+ //    qDebug() << "SlaOutputDev::drawSoftMaskedImage Masked Image Components" 
<< colorMap->getNumPixelComps();
+       auto imgStr = std::make_unique<ImageStream>(str, width, 
colorMap->getNumPixelComps(), colorMap->getBits());
+-      imgStr->reset();
++      imgStr->rewind();
+       unsigned int *dest = nullptr;
+       unsigned char * buffer = new unsigned char[width * height * 4];
+       for (int y = 0; y < height; y++)
+@@ -2439,7 +2439,7 @@ void SlaOutputDev::drawSoftMaskedImage(GfxState *state
+       }
+ 
+       auto mskStr = std::make_unique<ImageStream>(maskStr, maskWidth, 
maskColorMap->getNumPixelComps(), maskColorMap->getBits());
+-      mskStr->reset();
++      mskStr->rewind();
+       unsigned char *mdest = nullptr;
+       unsigned char * mbuffer = new unsigned char[maskWidth * maskHeight];
+       memset(mbuffer, 0, maskWidth * maskHeight);
+@@ -2497,7 +2497,7 @@ void SlaOutputDev::drawMaskedImage(GfxState *state, Ob
+ {
+ //    qDebug() << "SlaOutputDev::drawMaskedImage";
+       auto imgStr = std::make_unique<ImageStream>(str, width, 
colorMap->getNumPixelComps(), colorMap->getBits());
+-      imgStr->reset();
++      imgStr->rewind();
+       unsigned int *dest = nullptr;
+       unsigned char * buffer = new unsigned char[width * height * 4];
+       for (int y = 0; y < height; y++)
+@@ -2515,7 +2515,7 @@ void SlaOutputDev::drawMaskedImage(GfxState *state, Ob
+       }
+ 
+       auto mskStr = std::make_unique<ImageStream>(maskStr, maskWidth, 1, 1);
+-      mskStr->reset();
++      mskStr->rewind();
+       unsigned char *mdest = nullptr;
+       int invert_bit = maskInvert ? 1 : 0;
+       unsigned char * mbuffer = new unsigned char[maskWidth * maskHeight];
+@@ -2561,7 +2561,7 @@ void SlaOutputDev::drawMaskedImage(GfxState *state, Ob
+ void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int 
width, int height, GfxImageColorMap *colorMap, bool interpolate, const int* 
maskColors, bool inlineImg)
+ {
+       auto imgStr = std::make_unique<ImageStream>(str, width, 
colorMap->getNumPixelComps(), colorMap->getBits());
+-      imgStr->reset();
++      imgStr->rewind();
+ 
+       QImage image(width, height, QImage::Format_ARGB32);
+       if (image.isNull())
 @@ -2791,7 +2791,7 @@ void SlaOutputDev::beginMarkedContent(const char *name
        {
                if (dictRef->isNull())
@@ -65,7 +119,7 @@ Index: scribus/plugins/import/pdf/slaout
                OptionalContentGroup *oc;
                if (dictRef->isRef())
                {
-@@ -2928,7 +2928,11 @@ void SlaOutputDev::updateFont(GfxState *state)
+@@ -2928,13 +2928,17 @@ void SlaOutputDev::updateFont(GfxState *state)
        SplashFontFile *fontFile;
        SplashFontSrc *fontsrc = nullptr;
        Object refObj, strObj;
@@ -76,7 +130,15 @@ Index: scribus/plugins/import/pdf/slaout
 +#endif
        const double *textMat = nullptr;
        double m11, m12, m21, m22, fontSize;
-       SplashCoord mat[4] = { 1.0, 0.0, 0.0, 1.0 };
+-      SplashCoord mat[4] = { 1.0, 0.0, 0.0, 1.0 };
++      std::array<SplashCoord, 4> mat = { 1.0, 0.0, 0.0, 1.0 };
+       int n = 0;
+       int faceIndex = 0;
+-      SplashCoord matrix[6] = { 1.0, 0.0, 0.0, 1.0, 0.0, 0.0 };
++      std::array<SplashCoord, 6> matrix = { 1.0, 0.0, 0.0, 1.0, 0.0, 0.0 };
+ 
+       m_font = nullptr;
+ 
 @@ -3040,12 +3044,12 @@ void SlaOutputDev::updateFont(GfxState *state)
                        if (!fileName.empty())
                                ff = FoFiTrueType::load(fileName.c_str(), 
fontLoc->fontNum);

Reply via email to