pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/print/scribus-qt5



Module Name:    pkgsrc
Committed By:   markd
Date:           Tue Nov 12 21:46:56 UTC 2024

Modified Files:
        pkgsrc/print/scribus-qt5: Makefile distinfo
Added Files:
        pkgsrc/print/scribus-qt5/patches:
            patch-scribus_plugins_gettext_htmlim_htmlreader.cpp
            patch-scribus_plugins_gettext_sxwim_stylereader.cpp
            patch-scribus_plugins_import_pdf_slaoutput.cpp
            patch-scribus_plugins_import_pdf_slaoutput.h
            patch-scribus_scribusapp.cpp

Log Message:
scribus-qt5: build with latest qt5 and poppler.


To generate a diff of this commit:
cvs rdiff -u -r1.77 -r1.78 pkgsrc/print/scribus-qt5/Makefile
cvs rdiff -u -r1.7 -r1.8 pkgsrc/print/scribus-qt5/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_gettext_htmlim_htmlreader.cpp \
    pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_gettext_sxwim_stylereader.cpp \
    pkgsrc/print/scribus-qt5/patches/patch-scribus_scribusapp.cpp
cvs rdiff -u -r0 -r1.4 \
    pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_import_pdf_slaoutput.cpp
cvs rdiff -u -r0 -r1.3 \
    pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_import_pdf_slaoutput.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/print/scribus-qt5/Makefile
diff -u pkgsrc/print/scribus-qt5/Makefile:1.77 pkgsrc/print/scribus-qt5/Makefile:1.78
--- pkgsrc/print/scribus-qt5/Makefile:1.77      Thu Nov  7 13:34:45 2024
+++ pkgsrc/print/scribus-qt5/Makefile   Tue Nov 12 21:46:56 2024
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.77 2024/11/07 13:34:45 gdt Exp $
+# $NetBSD: Makefile,v 1.78 2024/11/12 21:46:56 markd Exp $
 
 DISTNAME=      scribus-1.6.2
-PKGREVISION=   7
+PKGREVISION=   8
 CATEGORIES=    print
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=scribus/}
 EXTRACT_SUFX=  .tar.xz

Index: pkgsrc/print/scribus-qt5/distinfo
diff -u pkgsrc/print/scribus-qt5/distinfo:1.7 pkgsrc/print/scribus-qt5/distinfo:1.8
--- pkgsrc/print/scribus-qt5/distinfo:1.7       Thu Aug  1 21:04:30 2024
+++ pkgsrc/print/scribus-qt5/distinfo   Tue Nov 12 21:46:56 2024
@@ -1,6 +1,11 @@
-$NetBSD: distinfo,v 1.7 2024/08/01 21:04:30 markd Exp $
+$NetBSD: distinfo,v 1.8 2024/11/12 21:46:56 markd Exp $
 
 BLAKE2s (scribus-1.6.2.tar.xz) = 8c6fdde69ef6640682894a11bbecaf38e7f16a80afd37736a06302469cbd77e8
 SHA512 (scribus-1.6.2.tar.xz) = 2f691c1f6b7beada89be410a2936b23641913bf26bd2152974bbaa747aeafb05aa797356a85bd55c14f60f0031ce1addedc9a3ce3e92546ebbb45f96a5ff3e62
 Size (scribus-1.6.2.tar.xz) = 73129400 bytes
 SHA1 (patch-CMakeLists__Dependencies.cmake) = 80fc0e787829031da3ec7085724e4b06e6106303
+SHA1 (patch-scribus_plugins_gettext_htmlim_htmlreader.cpp) = 40cee022aaa7dcf8f24f99ae2b574046a5202e85
+SHA1 (patch-scribus_plugins_gettext_sxwim_stylereader.cpp) = ab2f52294cad377dacedcb6793e4de395e3f4756
+SHA1 (patch-scribus_plugins_import_pdf_slaoutput.cpp) = b0c9eb973f74453f65f97f7e51d8491d22ce9ae9
+SHA1 (patch-scribus_plugins_import_pdf_slaoutput.h) = 5a2e197fd5e5e8ce46a1146db21acf4459ff405f
+SHA1 (patch-scribus_scribusapp.cpp) = 54b40fec708559e47c252f9fc3c42dabe1b91b28

Added files:

Index: pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_gettext_htmlim_htmlreader.cpp
diff -u /dev/null pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_gettext_htmlim_htmlreader.cpp:1.1
--- /dev/null   Tue Nov 12 21:46:56 2024
+++ pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_gettext_htmlim_htmlreader.cpp        Tue Nov 12 21:46:56 2024
@@ -0,0 +1,17 @@
+$NetBSD: patch-scribus_plugins_gettext_htmlim_htmlreader.cpp,v 1.1 2024/11/12 21:46:56 markd Exp $
+
+.../scribus/plugins/gettext/htmlim/htmlreader.cpp:251:18: error: ambiguous overload for
+ 'operator==' (operand types are 'const QChar' and 'const char [2]')
+  251 |    if (tmp.at(0) == "\n")
+
+--- scribus/plugins/gettext/htmlim/htmlreader.cpp.orig 2024-06-15 14:22:25.000000000 +0000
++++ scribus/plugins/gettext/htmlim/htmlreader.cpp
+@@ -248,7 +248,7 @@ bool HTMLReader::characters(const QStrin
+               bool lcis = (chr.length() > 0 && chr[0].isSpace());
+               if (inPre)
+               {
+-                      if (tmp.at(0) == "\n")
++                      if (tmp.at(0) == QString("\n"))
+                               tmp = tmp.right(tmp.length() - 2);
+               }
+               else
Index: pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_gettext_sxwim_stylereader.cpp
diff -u /dev/null pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_gettext_sxwim_stylereader.cpp:1.1
--- /dev/null   Tue Nov 12 21:46:56 2024
+++ pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_gettext_sxwim_stylereader.cpp        Tue Nov 12 21:46:56 2024
@@ -0,0 +1,35 @@
+$NetBSD: patch-scribus_plugins_gettext_sxwim_stylereader.cpp,v 1.1 2024/11/12 21:46:56 markd Exp $
+
+.../scribus/plugins/gettext/sxwim/stylereader.cpp:659:44: error: ambiguous overload for
+ 'operator!=' (operand types are 'const QChar' and 'const char [2]')
+
+--- scribus/plugins/gettext/sxwim/stylereader.cpp.orig 2024-06-15 14:22:26.000000000 +0000
++++ scribus/plugins/gettext/sxwim/stylereader.cpp
+@@ -274,11 +274,11 @@ void StyleReader::styleProperties(const 
+                       currentStyle->getFont()->setHscale(static_cast<int>(getSize(attrValue, -1.0)));
+               else if ((attrName == "style:text-position") &&
+                                ((attrValue.indexOf("sub") != -1) ||
+-                                ((attrValue.at(0) == "-") && (attrValue.at(0) != "0"))))
++                                ((attrValue.at(0) == QString("-")) && (attrValue.at(0) != QString("0")))))
+                       currentStyle->getFont()->toggleEffect(SUBSCRIPT);
+               else if ((attrName == "style:text-position") &&
+                                ((attrValue.indexOf("super") != -1) ||
+-                                ((attrValue.at(0) != "-") && (attrValue.at(0) != "0"))))
++                                ((attrValue.at(0) != QString("-")) && (attrValue.at(0) != QString("0")))))
+                       currentStyle->getFont()->toggleEffect(SUPERSCRIPT);
+               else if ((attrName == "fo:margin-top") && (pstyle != nullptr))
+                       pstyle->setSpaceAbove(getSize(attrValue));
+@@ -652,11 +652,11 @@ bool StyleReader::updateStyle(gtStyle* s
+               style->getFont()->setHscale(static_cast<int>(getSize(value, -1.0)));
+       else if ((key == "style:text-position") &&
+                        ((value.indexOf("sub") != -1) ||
+-                        ((value.at(0) == "-") && (value.at(0) != "0"))))
++                        ((value.at(0) == QString("-")) && (value.at(0) != QString("0")))))
+               style->getFont()->toggleEffect(SUBSCRIPT);
+       else if ((key == "style:text-position") &&
+                        ((value.indexOf("super") != -1) ||
+-                        ((value.at(0) != "-") && (value.at(0) != "0"))))
++                        ((value.at(0) != QString("-")) && (value.at(0) != QString("0")))))
+               style->getFont()->toggleEffect(SUPERSCRIPT);
+       else if ((key == "fo:margin-top") && (pstyle != nullptr))
+               pstyle->setSpaceAbove(getSize(value));
Index: pkgsrc/print/scribus-qt5/patches/patch-scribus_scribusapp.cpp
diff -u /dev/null pkgsrc/print/scribus-qt5/patches/patch-scribus_scribusapp.cpp:1.1
--- /dev/null   Tue Nov 12 21:46:56 2024
+++ pkgsrc/print/scribus-qt5/patches/patch-scribus_scribusapp.cpp       Tue Nov 12 21:46:56 2024
@@ -0,0 +1,17 @@
+$NetBSD: patch-scribus_scribusapp.cpp,v 1.1 2024/11/12 21:46:56 markd Exp $
+
+.../scribus/scribusapp.cpp:285:18: error: ambiguous overload for 'operator==' (operand types
+ are 'const QChar' and 'const char [2]')
+  285 |    if (arg.at(0) == "-")
+
+--- scribus/scribusapp.cpp.orig        2024-06-15 14:22:33.000000000 +0000
++++ scribus/scribusapp.cpp
+@@ -282,7 +282,7 @@ void ScribusQApp::parseCommandLine()
+               }
+               else
+               { //argument is not a known option, but either positional parameter or invalid.
+-                      if (arg.at(0) == "-")
++                      if (arg.at(0) == QString("-"))
+                       {
+                               std::cout << tr("Invalid argument: %1").arg(arg).toLocal8Bit().data() << std::endl;
+                               std::exit(EXIT_FAILURE);

Index: pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_import_pdf_slaoutput.cpp
diff -u /dev/null pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_import_pdf_slaoutput.cpp:1.4
--- /dev/null   Tue Nov 12 21:46:56 2024
+++ pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_import_pdf_slaoutput.cpp     Tue Nov 12 21:46:56 2024
@@ -0,0 +1,1536 @@
+$NetBSD: patch-scribus_plugins_import_pdf_slaoutput.cpp,v 1.4 2024/11/12 21:46:56 markd Exp $
+
+fix build with poppler 24.11.0 (via ArchLinux)
+
+diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
+index c002a88..f76bc00 100644
+--- scribus/plugins/import/pdf/slaoutput.cpp
++++ scribus/plugins/import/pdf/slaoutput.cpp
+@@ -8,9 +8,7 @@ for which a new license (GPL+exception) is in place.
+ #include "slaoutput.h"
+ 
+ #include <memory>
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
+ #include <optional>
+-#endif
+ 
+ #include <poppler/GlobalParams.h>
+ #include <poppler/poppler-config.h>
+@@ -81,6 +79,8 @@ namespace
+       }
+ }
+ 
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(24, 10, 0)
++
+ LinkSubmitForm::LinkSubmitForm(Object *actionObj)
+ {
+       if (!actionObj->isDict())
+@@ -92,12 +92,12 @@ LinkSubmitForm::LinkSubmitForm(Object *actionObj)
+               Object obj3 = obj1.dictLookup("FS");
+               if (!obj3.isNull() && obj3.isName())
+               {
+-                      POPPLER_CONST char *name = obj3.getName();
++                      const char *name = obj3.getName();
+                       if (!strcmp(name, "URL"))
+                       {
+                               Object obj2 = obj1.dictLookup("F");
+                               if (!obj2.isNull())
+-                                      fileName = obj2.getString()->copy();
++                                      m_url = obj2.getString()->copy();
+                       }
+               }
+       }
+@@ -108,9 +108,11 @@ LinkSubmitForm::LinkSubmitForm(Object *actionObj)
+ 
+ LinkSubmitForm::~LinkSubmitForm()
+ {
+-      delete fileName;
++      delete m_url;
+ }
+ 
++#endif
++
+ LinkImportData::LinkImportData(Object *actionObj)
+ {
+       if (!actionObj->isDict())
+@@ -162,7 +164,7 @@ void AnoOutputDev::stroke(GfxState *state)
+       currColorStroke = getColor(state->getStrokeColorSpace(), state->getStrokeColor(), &shade);
+ }
+ 
+-void AnoOutputDev::drawString(GfxState *state, POPPLER_CONST GooString *s)
++void AnoOutputDev::drawString(GfxState *state, const GooString *s)
+ {
+       int shade = 100;
+       currColorText = getColor(state->getFillColorSpace(), state->getFillColor(), &shade);
+@@ -177,7 +179,7 @@ void AnoOutputDev::drawString(GfxState *state, POPPLER_CONST GooString *s)
+       itemText = s->copy();
+ }
+ 
+-QString AnoOutputDev::getColor(GfxColorSpace *color_space, POPPLER_CONST_070 GfxColor *color, int *shade)
++QString AnoOutputDev::getColor(GfxColorSpace *color_space, const GfxColor *color, int *shade)
+ {
+       QString fNam;
+       QString namPrefix = "FromPDF";
+@@ -218,7 +220,7 @@ QString AnoOutputDev::getColor(GfxColorSpace *color_space, POPPLER_CONST_070 Gfx
+       {
+               auto* sepColorSpace = (GfxSeparationColorSpace*) color_space;
+               GfxColorSpace* altColorSpace = sepColorSpace->getAlt();
+-              QString name(sepColorSpace->getName()->getCString());
++              QString name(sepColorSpace->getName()->c_str());
+               bool isRegistrationColor = (name == "All");
+               if (isRegistrationColor)
+               {
+@@ -308,8 +310,8 @@ LinkAction* SlaOutputDev::SC_getAction(AnnotWidget *ano)
+       obj = m_xref->fetch(refa.num, refa.gen);
+       if (obj.isDict())
+       {
+-              Dict* adic = obj.getDict();
+-              POPPLER_CONST_075 Object POPPLER_REF additionalActions = adic->lookupNF("A");
++              const Dict* adic = obj.getDict();
++              const Object & additionalActions = adic->lookupNF("A");
+               Object additionalActionsObject = additionalActions.fetch(m_pdfDoc->getXRef());
+               if (additionalActionsObject.isDict())
+               {
+@@ -328,23 +330,17 @@ LinkAction* SlaOutputDev::SC_getAction(AnnotWidget *ano)
+ }
+ 
+ /* Replacement for the crippled Poppler function LinkAction* AnnotWidget::getAdditionalAction(AdditionalActionsType type) */
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+ std::unique_ptr<LinkAction> SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *ano)
+ {
+       std::unique_ptr<LinkAction> linkAction;
+-#else
+-LinkAction* SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *ano)
+-{
+-      LinkAction *linkAction = nullptr;
+-#endif
+       Object obj;
+       Ref refa = ano->getRef();
+ 
+       obj = m_xref->fetch(refa.num, refa.gen);
+       if (obj.isDict())
+       {
+-              Dict* adic = obj.getDict();
+-              POPPLER_CONST_075 Object POPPLER_REF additionalActions = adic->lookupNF("AA");
++              const Dict* adic = obj.getDict();
++              const Object & additionalActions = adic->lookupNF("AA");
+               Object additionalActionsObject = additionalActions.fetch(m_pdfDoc->getXRef());
+               if (additionalActionsObject.isDict())
+               {
+@@ -356,7 +352,7 @@ LinkAction* SlaOutputDev::SC_getAdditionalAction(const char *key, AnnotWidget *a
+       return linkAction;
+ }
+ 
+-GBool SlaOutputDev::annotations_callback(Annot *annota, void *user_data)
++bool SlaOutputDev::annotations_callback(Annot *annota, void *user_data)
+ {
+       auto *dev = (SlaOutputDev*) user_data;
+ #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+@@ -396,7 +392,7 @@ GBool SlaOutputDev::annotations_callback(Annot *annota, void *user_data)
+ 
+ bool SlaOutputDev::handleTextAnnot(Annot* annota, double xCoor, double yCoor, double width, double height)
+ {
+-      auto *anl = (AnnotText*) annota;
++      const auto *anl = (AnnotText*) annota;
+       int z = m_doc->itemAdd(PageItem::TextFrame, PageItem::Rectangle, xCoor, yCoor, width, height, 0, CommonStrings::None, CommonStrings::None);
+       PageItem *ite = m_doc->Items->at(z);
+       int flg = annota->getFlags();
+@@ -448,7 +444,7 @@ bool SlaOutputDev::handleTextAnnot(Annot* annota, double xCoor, double yCoor, do
+ 
+ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, double width, double height)
+ {
+-      auto *anl = (AnnotLink*) annota;
++      const auto *anl = (AnnotLink*) annota;
+       LinkAction *act = anl->getAction();
+       if (!act)
+               return false;
+@@ -459,8 +455,8 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
+       QString fileName;
+       if (act->getKind() == actionGoTo)
+       {
+-              auto *gto = (LinkGoTo*) act;
+-              POPPLER_CONST LinkDest *dst = gto->getDest();
++              const auto *gto = (LinkGoTo*) act;
++              const LinkDest *dst = gto->getDest();
+               if (dst)
+               {
+                       if (dst->getKind() == destXYZ)
+@@ -468,11 +464,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
+                               if (dst->isPageRef())
+                               {
+                                       Ref dstr = dst->getPageRef();
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 76, 0)
+                                       pagNum = m_pdfDoc->findPage(dstr);
+-#else
+-                                      pagNum = m_pdfDoc->findPage(dstr.num, dstr.gen);
+-#endif
+                               }
+                               else
+                                       pagNum = dst->getPageNum();
+@@ -483,24 +475,16 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
+               }
+               else
+               {
+-                      POPPLER_CONST GooString *ndst = gto->getNamedDest();
++                      const GooString *ndst = gto->getNamedDest();
+                       if (ndst)
+                       {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+                               std::unique_ptr<LinkDest> dstn = m_pdfDoc->findDest(ndst);
+-#else
+-                              LinkDest *dstn = m_pdfDoc->findDest(ndst);
+-#endif
+                               if (dstn && (dstn->getKind() == destXYZ))
+                               {
+                                       if (dstn->isPageRef())
+                                       {
+                                               Ref dstr = dstn->getPageRef();
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 76, 0)
+                                               pagNum = m_pdfDoc->findPage(dstr);
+-#else
+-                                              pagNum = m_pdfDoc->findPage(dstr.num, dstr.gen);
+-#endif
+                                       }
+                                       else
+                                               pagNum = dstn->getPageNum();
+@@ -513,9 +497,9 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
+       }
+       else if (act->getKind() == actionGoToR)
+       {
+-              auto *gto = (LinkGoToR*) act;
++              const auto *gto = (LinkGoToR*) act;
+               fileName = UnicodeParsedString(gto->getFileName());
+-              POPPLER_CONST LinkDest *dst = gto->getDest();
++              const LinkDest *dst = gto->getDest();
+               if (dst)
+               {
+                       if (dst->getKind() == destXYZ)
+@@ -528,14 +512,10 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
+               }
+               else
+               {
+-                      POPPLER_CONST GooString *ndst = gto->getNamedDest();
++                      const GooString *ndst = gto->getNamedDest();
+                       if (ndst)
+                       {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+                               std::unique_ptr<LinkDest> dstn = m_pdfDoc->findDest(ndst);
+-#else
+-                              LinkDest *dstn = m_pdfDoc->findDest(ndst);
+-#endif
+                               if (dstn && (dstn->getKind() == destXYZ))
+                               {
+                                       pagNum = dstn->getPageNum();
+@@ -548,7 +528,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot* annota, double xCoor, double yCoor, do
+       }
+       else if (act->getKind() == actionURI)
+       {
+-              auto *gto = (LinkURI*) act;
++              const auto *gto = (LinkURI*) act;
+               validLink = true;
+               fileName = UnicodeParsedString(gto->getURI());
+       }
+@@ -621,7 +601,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+               int wtyp = -1;
+               if (fm->getType() == formButton)
+               {
+-                      auto *btn = (FormWidgetButton*) fm;
++                      const auto *btn = (FormWidgetButton*) fm;
+                       if (btn)
+                       {
+                               if (btn->getButtonType() == formButtonCheck)
+@@ -648,7 +628,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+               }
+               else if (fm->getType() == formChoice)
+               {
+-                      auto *btn = (FormWidgetChoice*) fm;
++                      const auto *btn = (FormWidgetChoice*) fm;
+                       if (btn)
+                       {
+                               if (btn->isCombo())
+@@ -670,7 +650,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+                       bool bgFound = false;
+                       if (achar)
+                       {
+-                              POPPLER_CONST AnnotColor *bgCol = achar->getBackColor();
++                              const AnnotColor *bgCol = achar->getBackColor();
+                               if (bgCol)
+                               {
+                                       bgFound = true;
+@@ -678,7 +658,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+                               }
+                               else
+                                       m_graphicStack.top().fillColor = CommonStrings::None;
+-                              POPPLER_CONST AnnotColor *fgCol = achar->getBorderColor();
++                              const AnnotColor *fgCol = achar->getBorderColor();
+                               if (fgCol)
+                               {
+                                       fgFound = true;
+@@ -739,7 +719,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+                       }
+                       ite->setIsAnnotation(true);
+                       ite->AutoName = false;
+-                      AnnotBorder *brd = annota->getBorder();
++                      const AnnotBorder *brd = annota->getBorder();
+                       if (brd)
+                       {
+                               int bsty = brd->getStyle();
+@@ -761,7 +741,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+                               ite->annotation().setBorderColor(CommonStrings::None);
+                               ite->annotation().setBorderWidth(0);
+                       }
+-                      QString tmTxt = UnicodeParsedString(fm->getPartialName());
++                      QString tmTxt(UnicodeParsedString(fm->getPartialName()));
+                       if (!tmTxt.isEmpty())
+                               ite->setItemName(tmTxt);
+                       tmTxt.clear();
+@@ -794,7 +774,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+                                       ite->itemText.insertChars(itemText);
+                               applyTextStyle(ite, fontName, currTextColor, fontSize);
+                               ite->annotation().addToFlag(Annotation::Flag_PushButton);
+-                              auto *btn = (FormWidgetButton*) fm;
++                              const auto *btn = (FormWidgetButton*) fm;
+                               if (!btn->isReadOnly())
+                                       ite->annotation().addToFlag(Annotation::Flag_Edit);
+                               handleActions(ite, ano);
+@@ -829,7 +809,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+                       }
+                       else if (wtyp == Annotation::Checkbox)
+                       {
+-                              auto *btn = (FormWidgetButton*) fm;
++                              const auto *btn = (FormWidgetButton*) fm;
+                               if (btn)
+                               {
+                                       ite->annotation().setIsChk(btn->getState());
+@@ -855,7 +835,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+                       }
+                       else if ((wtyp == Annotation::Combobox) || (wtyp == Annotation::Listbox))
+                       {
+-                              auto *btn = (FormWidgetChoice*) fm;
++                              const auto *btn = (FormWidgetChoice*) fm;
+                               if (btn)
+                               {
+                                       if (wtyp == 5)
+@@ -878,7 +858,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+                       }
+                       else if (wtyp == Annotation::RadioButton)
+                       {
+-                              auto *btn = (FormWidgetButton*) fm;
++                              const auto *btn = (FormWidgetButton*) fm;
+                               if (btn)
+                               {
+                                       ite->setItemName( CommonStrings::itemName_RadioButton + QString("%1").arg(m_doc->TotalItems));
+@@ -898,7 +878,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+               obj1 = m_xref->fetch(refa.num, refa.gen);
+               if (obj1.isDict())
+               {
+-                      Dict* dict = obj1.getDict();
++                      const Dict* dict = obj1.getDict();
+                       Object obj2 = dict->lookup("Kids");
+                       //childs
+                       if (obj2.isArray())
+@@ -907,7 +887,7 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
+                               QList<int> radList;
+                               for (int i = 0; i < obj2.arrayGetLength(); i++)
+                               {
+-                                      POPPLER_CONST_075 Object POPPLER_REF childRef = obj2.arrayGetNF(i);
++                                      const Object & childRef = obj2.arrayGetNF(i);
+                                       if (!childRef.isRef())
+                                               continue;
+                                       Object childObj = obj2.arrayGet(i);
+@@ -966,7 +946,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+       {
+               if (Lact->getKind() == actionJavaScript)
+               {
+-                      auto *jsa = (LinkJavaScript*) Lact;
++                      const auto *jsa = (LinkJavaScript*) Lact;
+                       if (jsa->isOk())
+                       {
+                               ite->annotation().setActionType(1);
+@@ -978,8 +958,8 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+                       int pagNum = 0;
+                       int xco = 0;
+                       int yco = 0;
+-                      auto *gto = (LinkGoTo*) Lact;
+-                      POPPLER_CONST LinkDest *dst = gto->getDest();
++                      const auto *gto = (LinkGoTo*) Lact;
++                      const LinkDest *dst = gto->getDest();
+                       if (dst)
+                       {
+                               if (dst->getKind() == destXYZ)
+@@ -987,11 +967,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+                                       if (dst->isPageRef())
+                                       {
+                                               Ref dstr = dst->getPageRef();
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 76, 0)
+                                               pagNum = m_pdfDoc->findPage(dstr);
+-#else
+-                                              pagNum = m_pdfDoc->findPage(dstr.num, dstr.gen);
+-#endif
+                                       }
+                                       else
+                                               pagNum = dst->getPageNum();
+@@ -1004,24 +980,16 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+                       }
+                       else
+                       {
+-                              POPPLER_CONST GooString *ndst = gto->getNamedDest();
++                              const GooString *ndst = gto->getNamedDest();
+                               if (ndst)
+                               {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+                                       std::unique_ptr<LinkDest> dstn = m_pdfDoc->findDest(ndst);
+-#else
+-                                      LinkDest *dstn = m_pdfDoc->findDest(ndst);
+-#endif
+                                       if (dstn && (dstn->getKind() == destXYZ))
+                                       {
+                                               if (dstn->isPageRef())
+                                               {
+                                                       Ref dstr = dstn->getPageRef();
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 76, 0)
+                                                       pagNum = m_pdfDoc->findPage(dstr);
+-#else
+-                                                      pagNum = m_pdfDoc->findPage(dstr.num, dstr.gen);
+-#endif
+                                               }
+                                               else
+                                                       pagNum = dstn->getPageNum();
+@@ -1039,9 +1007,9 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+                       int pagNum = 0;
+                       int xco = 0;
+                       int yco = 0;
+-                      auto *gto = (LinkGoToR*) Lact;
++                      const auto *gto = (LinkGoToR*) Lact;
+                       QString fileName = UnicodeParsedString(gto->getFileName());
+-                      POPPLER_CONST LinkDest *dst = gto->getDest();
++                      const LinkDest *dst = gto->getDest();
+                       if (dst)
+                       {
+                               if (dst->getKind() == destXYZ)
+@@ -1057,14 +1025,10 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+                       }
+                       else
+                       {
+-                              POPPLER_CONST GooString *ndst = gto->getNamedDest();
++                              const GooString *ndst = gto->getNamedDest();
+                               if (ndst)
+                               {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+                                       std::unique_ptr<LinkDest> dstn = m_pdfDoc->findDest(ndst);
+-#else
+-                                      LinkDest *dstn = m_pdfDoc->findDest(ndst);
+-#endif
+                                       if (dstn && (dstn->getKind() == destXYZ))
+                                       {
+                                               pagNum = dstn->getPageNum();
+@@ -1078,9 +1042,33 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+                               }
+                       }
+               }
++              else if (Lact->getKind() == actionResetForm)
++              {
++                      ite->annotation().setActionType(4);
++              }
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 10, 0)
++              else if (Lact->getKind() == actionSubmitForm)
++              {
++                      const auto* impo = (LinkSubmitForm*) Lact;
++                      if (impo->isOk())
++                      {
++                              ite->annotation().setActionType(3);
++                              ite->annotation().setAction(UnicodeParsedString(impo->getUrl()));
++                              int fl = impo->getFlags();
++                              if (fl == 0)
++                                      ite->annotation().setHTML(0);
++                              else if (fl == 4)
++                                      ite->annotation().setHTML(1);
++                              else if (fl == 64)
++                                      ite->annotation().setHTML(2);
++                              else if (fl == 512)
++                                      ite->annotation().setHTML(3);
++                      }
++              }
++#endif
+               else if (Lact->getKind() == actionUnknown)
+               {
+-                      auto *uno = (LinkUnknown*) Lact;
++                      const auto *uno = (LinkUnknown*) Lact;
+                       QString actString = UnicodeParsedString(uno->getAction());
+                       if (actString == "ResetForm")
+                       {
+@@ -1106,7 +1094,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+                                               if (impo->isOk())
+                                               {
+                                                       ite->annotation().setActionType(3);
+-                                                      ite->annotation().setAction(UnicodeParsedString(impo->getFileName()));
++                                                      ite->annotation().setAction(UnicodeParsedString(impo->getUrl()));
+                                                       int fl = impo->getFlags();
+                                                       if (fl == 0)
+                                                               ite->annotation().setHTML(0);
+@@ -1123,7 +1111,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+               }
+               else if (Lact->getKind() == actionNamed)
+               {
+-                      auto *uno = (LinkNamed*) Lact;
++                      const auto *uno = (LinkNamed*) Lact;
+                       ite->annotation().setActionType(10);
+                       ite->annotation().setAction(UnicodeParsedString(uno->getName()));
+               }
+@@ -1135,143 +1123,91 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+       {
+               if (Aact->getKind() == actionJavaScript)
+               {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+-                      auto *jsa = (LinkJavaScript*) Aact.get();
+-#else
+-                      auto *jsa = (LinkJavaScript*) Aact;
+-#endif
++                      const auto *jsa = (LinkJavaScript*) Aact.get();
+                       if (jsa->isOk())
+                       {
+                               ite->annotation().setD_act(UnicodeParsedString(jsa->getScript()));
+                               ite->annotation().setAAact(true);
+                       }
+               }
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+               Aact.reset();
+-#else
+-              Aact = nullptr;
+-#endif
+       }
+       Aact = SC_getAdditionalAction("E", ano);
+       if (Aact)
+       {
+               if (Aact->getKind() == actionJavaScript)
+               {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+-                      auto *jsa = (LinkJavaScript*) Aact.get();
+-#else
+-                      auto *jsa = (LinkJavaScript*) Aact;
+-#endif
++                      const auto *jsa = (LinkJavaScript*) Aact.get();
+                       if (jsa->isOk())
+                       {
+                               ite->annotation().setE_act(UnicodeParsedString(jsa->getScript()));
+                               ite->annotation().setAAact(true);
+                       }
+               }
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+               Aact.reset();
+-#else
+-              Aact = nullptr;
+-#endif
+       }
+       Aact = SC_getAdditionalAction("X", ano);
+       if (Aact)
+       {
+               if (Aact->getKind() == actionJavaScript)
+               {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+-                      auto *jsa = (LinkJavaScript*) Aact.get();
+-#else
+-                      auto *jsa = (LinkJavaScript*) Aact;
+-#endif
++                      const auto *jsa = (LinkJavaScript*) Aact.get();
+                       if (jsa->isOk())
+                       {
+                               ite->annotation().setX_act(UnicodeParsedString(jsa->getScript()));
+                               ite->annotation().setAAact(true);
+                       }
+               }
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+               Aact.reset();
+-#else
+-              Aact = nullptr;
+-#endif
+       }
+       Aact = SC_getAdditionalAction("Fo", ano);
+       if (Aact)
+       {
+               if (Aact->getKind() == actionJavaScript)
+               {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+-                      auto *jsa = (LinkJavaScript*) Aact.get();
+-#else
+-                      auto *jsa = (LinkJavaScript*) Aact;
+-#endif
++                      const auto *jsa = (LinkJavaScript*) Aact.get();
+                       if (jsa->isOk())
+                       {
+                               ite->annotation().setFo_act(UnicodeParsedString(jsa->getScript()));
+                               ite->annotation().setAAact(true);
+                       }
+               }
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+               Aact.reset();
+-#else
+-              Aact = nullptr;
+-#endif
+       }
+       Aact = SC_getAdditionalAction("Bl", ano);
+       if (Aact)
+       {
+               if (Aact->getKind() == actionJavaScript)
+               {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+-                      auto *jsa = (LinkJavaScript*) Aact.get();
+-#else
+-                      auto *jsa = (LinkJavaScript*) Aact;
+-#endif
++                      const auto *jsa = (LinkJavaScript*) Aact.get();
+                       if (jsa->isOk())
+                       {
+                               ite->annotation().setBl_act(UnicodeParsedString(jsa->getScript()));
+                               ite->annotation().setAAact(true);
+                       }
+               }
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+               Aact.reset();
+-#else
+-              Aact = nullptr;
+-#endif
+       }
+       Aact = SC_getAdditionalAction("C", ano);
+       if (Aact)
+       {
+               if (Aact->getKind() == actionJavaScript)
+               {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+-                      auto *jsa = (LinkJavaScript*) Aact.get();
+-#else
+-                      auto *jsa = (LinkJavaScript*) Aact;
+-#endif
++                      const auto *jsa = (LinkJavaScript*) Aact.get();
+                       if (jsa->isOk())
+                       {
+                               ite->annotation().setC_act(UnicodeParsedString(jsa->getScript()));
+                               ite->annotation().setAAact(true);
+                       }
+               }
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+               Aact.reset();
+-#else
+-              Aact = nullptr;
+-#endif
+       }
+       Aact = SC_getAdditionalAction("F", ano);
+       if (Aact)
+       {
+               if (Aact->getKind() == actionJavaScript)
+               {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+-                      auto *jsa = (LinkJavaScript*) Aact.get();
+-#else
+-                      autoz*jsa = (LinkJavaScript*) Aact;
+-#endif
++                      const auto *jsa = (LinkJavaScript*) Aact.get();
+                       if (jsa->isOk())
+                       {
+                               ite->annotation().setF_act(UnicodeParsedString(jsa->getScript()));
+@@ -1279,22 +1215,14 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+                               ite->annotation().setFormat(5);
+                       }
+               }
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+               Aact.reset();
+-#else
+-              Aact = nullptr;
+-#endif
+       }
+       Aact = SC_getAdditionalAction("K", ano);
+       if (Aact)
+       {
+               if (Aact->getKind() == actionJavaScript)
+               {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+-                      auto *jsa = (LinkJavaScript*) Aact.get();
+-#else
+-                      auto *jsa = (LinkJavaScript*) Aact;
+-#endif
++                      const auto *jsa = (LinkJavaScript*) Aact.get();
+                       if (jsa->isOk())
+                       {
+                               ite->annotation().setK_act(UnicodeParsedString(jsa->getScript()));
+@@ -1302,33 +1230,21 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotWidget *ano)
+                               ite->annotation().setFormat(5);
+                       }
+               }
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+               Aact.reset();
+-#else
+-              Aact = nullptr;
+-#endif
+       }
+       Aact = SC_getAdditionalAction("V", ano);
+       if (Aact)
+       {
+               if (Aact->getKind() == actionJavaScript)
+               {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+-                      auto *jsa = (LinkJavaScript*) Aact.get();
+-#else
+-                      auto *jsa = (LinkJavaScript*) Aact;
+-#endif
++                      const auto *jsa = (LinkJavaScript*) Aact.get();
+                       if (jsa->isOk())
+                       {
+                               ite->annotation().setV_act(UnicodeParsedString(jsa->getScript()));
+                               ite->annotation().setAAact(true);
+                       }
+               }
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+               Aact.reset();
+-#else
+-              Aact = nullptr;
+-#endif
+       }
+ }
+ 
+@@ -1338,11 +1254,7 @@ void SlaOutputDev::startDoc(PDFDoc *doc, XRef *xrefA, Catalog *catA)
+       m_catalog = catA;
+       m_pdfDoc = doc;
+       m_updateGUICounter = 0;
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 84, 0)
+       m_fontEngine = new SplashFontEngine(true, false, false, true);
+-#else
+-      m_fontEngine = new SplashFontEngine(globalParams->getEnableFreeType(), false, false, true);
+-#endif
+ }
+ 
+ void SlaOutputDev::startPage(int pageNum, GfxState *, XRef *)
+@@ -1459,18 +1371,18 @@ void SlaOutputDev::restoreState(GfxState *state)
+                       }
+               }
+       }
+-      
++
+       m_graphicStack.restore();
+ }
+ 
+-void SlaOutputDev::beginTransparencyGroup(GfxState *state, POPPLER_CONST_070 double *bbox, GfxColorSpace * /*blendingColorSpace*/, GBool isolated, GBool knockout, GBool forSoftMask)
++void SlaOutputDev::beginTransparencyGroup(GfxState *state, const double *bbox, GfxColorSpace * /*blendingColorSpace*/, bool isolated, bool knockout, bool forSoftMask)
+ {
+ //    qDebug() << "SlaOutputDev::beginTransparencyGroup isolated:" << isolated << "knockout:" << knockout << "forSoftMask:" << forSoftMask;
+       pushGroup("", forSoftMask);
+       m_groupStack.top().isolated = isolated;
+ }
+ 
+-void SlaOutputDev::paintTransparencyGroup(GfxState *state, POPPLER_CONST_070 double *bbox)
++void SlaOutputDev::paintTransparencyGroup(GfxState *state, const double *bbox)
+ {
+ //    qDebug() << "SlaOutputDev::paintTransparencyGroup";
+       if (m_groupStack.count() != 0)
+@@ -1569,7 +1481,7 @@ void SlaOutputDev::endTransparencyGroup(GfxState *state)
+       m_tmpSel->clear();
+ }
+ 
+-void SlaOutputDev::setSoftMask(GfxState * /*state*/, POPPLER_CONST_070 double * bbox, GBool alpha, Function *transferFunc, GfxColor * /*backdropColor*/)
++void SlaOutputDev::setSoftMask(GfxState * /*state*/, const double * bbox, bool alpha, Function *transferFunc, GfxColor * /*backdropColor*/)
+ {
+       if (m_groupStack.count() <= 0)
+               return;
+@@ -1657,7 +1569,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
+       {
+@@ -1814,7 +1726,7 @@ void SlaOutputDev::createFillItem(GfxState *state, Qt::FillRule fillRule)
+       }
+ }
+ 
+-GBool SlaOutputDev::axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax)
++bool SlaOutputDev::axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax)
+ {
+ //    qDebug() << "SlaOutputDev::axialShadedFill";
+       double GrStartX;
+@@ -1822,7 +1734,7 @@ GBool SlaOutputDev::axialShadedFill(GfxState *state, GfxAxialShading *shading, d
+       double GrEndX;
+       double GrEndY;
+       int shade = 100;
+-      POPPLER_CONST_070 Function *func = shading->getFunc(0);
++      const Function *func = shading->getFunc(0);
+       VGradient fillGradient(VGradient::linear);
+       fillGradient.clearStops();
+       GfxColorSpace *color_space = shading->getColorSpace();
+@@ -1832,7 +1744,7 @@ GBool SlaOutputDev::axialShadedFill(GfxState *state, GfxAxialShading *shading, d
+       if (func->getType() == 3)
+ #endif
+       {
+-              auto *stitchingFunc = (StitchingFunction*) func;
++              const auto *stitchingFunc = (const StitchingFunction*) func;
+               const double *bounds = stitchingFunc->getBounds();
+               int num_funcs = stitchingFunc->getNumFuncs();
+               double domain_min = stitchingFunc->getDomainMin(0);
+@@ -1953,10 +1865,10 @@ GBool SlaOutputDev::axialShadedFill(GfxState *state, GfxAxialShading *shading, d
+               m_groupStack.top().Items.append(ite);
+               applyMask(ite);
+       }
+-      return gTrue;
++      return true;
+ }
+ 
+-GBool SlaOutputDev::radialShadedFill(GfxState *state, GfxRadialShading *shading, double sMin, double sMax)
++bool SlaOutputDev::radialShadedFill(GfxState *state, GfxRadialShading *shading, double sMin, double sMax)
+ {
+ //    qDebug() << "SlaOutputDev::radialShadedFill";
+       double GrStartX;
+@@ -1964,7 +1876,7 @@ GBool SlaOutputDev::radialShadedFill(GfxState *state, GfxRadialShading *shading,
+       double GrEndX;
+       double GrEndY;
+       int shade = 100;
+-      POPPLER_CONST_070 Function *func = shading->getFunc(0);
++      const Function *func = shading->getFunc(0);
+       VGradient fillGradient(VGradient::linear);
+       fillGradient.clearStops();
+       GfxColorSpace *color_space = shading->getColorSpace();
+@@ -1974,7 +1886,7 @@ GBool SlaOutputDev::radialShadedFill(GfxState *state, GfxRadialShading *shading,
+       if (func->getType() == 3)
+ #endif
+       {
+-              auto *stitchingFunc = (StitchingFunction*) func;
++              const auto *stitchingFunc = (const StitchingFunction*) func;
+               const double *bounds = stitchingFunc->getBounds();
+               int num_funcs = stitchingFunc->getNumFuncs();
+               double domain_min = stitchingFunc->getDomainMin(0);
+@@ -2085,10 +1997,10 @@ GBool SlaOutputDev::radialShadedFill(GfxState *state, GfxRadialShading *shading,
+               m_groupStack.top().Items.append(ite);
+               applyMask(ite);
+       }
+-      return gTrue;
++      return true;
+ }
+ 
+-GBool SlaOutputDev::gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangleShading *shading)
++bool SlaOutputDev::gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangleShading *shading)
+ {
+ //    qDebug() << "SlaOutputDev::gouraudTriangleShadedFill";
+       double xCoor = m_doc->currentPage()->xOffset();
+@@ -2166,10 +2078,10 @@ GBool SlaOutputDev::gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangl
+               ite->meshGradientPatches.append(patchM);
+       }
+       ite->GrType = 12;
+-      return gTrue;
++      return true;
+ }
+ 
+-GBool SlaOutputDev::patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *shading)
++bool SlaOutputDev::patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *shading)
+ {
+ //    qDebug() << "SlaOutputDev::patchMeshShadedFill";
+       double xCoor = m_doc->currentPage()->xOffset();
+@@ -2316,21 +2228,15 @@ GBool SlaOutputDev::patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *sh
+               ite->meshGradientPatches.append(patchM);
+       }
+       ite->GrType = 12;
+-      return gTrue;
++      return true;
+ }
+ 
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(21, 3, 0)
+ bool 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";
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(21, 3, 0)
+       const double *bbox = tPat->getBBox();
+       const double *pmat = tPat->getMatrix();
+       Dict *resDict = tPat->getResDict();
+-#endif
+ 
+       PDFRectangle box;
+       Gfx *gfx;
+@@ -2342,7 +2248,7 @@ GBool SlaOutputDev::tilingPatternFill(GfxState *state, Gfx * /*gfx*/, Catalog *c
+       width = bbox[2] - bbox[0];
+       height = bbox[3] - bbox[1];
+       if (xStep != width || yStep != height)
+-              return gFalse;
++              return false;
+       box.x1 = bbox[0];
+       box.y1 = bbox[1];
+       box.x2 = bbox[2];
+@@ -2358,17 +2264,12 @@ GBool SlaOutputDev::tilingPatternFill(GfxState *state, Gfx * /*gfx*/, Catalog *c
+       // Unset the clip path as it is unrelated to the pattern's coordinate space.
+       QPainterPath savedClip = m_graphicStack.top().clipPath;
+       m_graphicStack.top().clipPath = QPainterPath();
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(21, 3, 0)
+       gfx->display(tPat->getContentStream());
+-#else
+-      gfx->display(str);
+-#endif
+       m_graphicStack.top().clipPath = savedClip;
+       m_inPattern--;
+-      gElements = m_groupStack.pop();
+       m_doc->m_Selection->clear();
+-//    double pwidth = 0;
+-//    double pheight = 0;
++
++      gElements = m_groupStack.pop();
+       if (gElements.Items.count() > 0)
+       {
+               for (int dre = 0; dre < gElements.Items.count(); ++dre)
+@@ -2393,8 +2294,6 @@ GBool SlaOutputDev::tilingPatternFill(GfxState *state, Gfx * /*gfx*/, Catalog *c
+               m_doc->DoDrawing = false;
+               pat.width = ite->width();
+               pat.height = ite->height();
+-      //      pwidth = ite->width();
+-      //      pheight = ite->height();
+               ite->gXpos = 0;
+               ite->gYpos = 0;
+               ite->setXYPos(ite->gXpos, ite->gYpos, true);
+@@ -2457,13 +2356,13 @@ GBool SlaOutputDev::tilingPatternFill(GfxState *state, Gfx * /*gfx*/, Catalog *c
+               applyMask(ite);
+       }
+       delete gfx;
+-      return gTrue;
++      return true;
+ }
+ 
+-void SlaOutputDev::drawImageMask(GfxState *state, Object *ref, Stream *str, int width, int height, GBool invert, GBool interpolate, GBool inlineImg)
++void SlaOutputDev::drawImageMask(GfxState *state, Object *ref, Stream *str, int width, int height, bool invert, bool interpolate, bool inlineImg)
+ {
+ //    qDebug() << "Draw Image Mask";
+-      auto imgStr = std::make_shared<ImageStream>(str, width, 1, 1);
++      auto imgStr = std::make_unique<ImageStream>(str, width, 1, 1);
+       imgStr->reset();
+ #ifdef WORDS_BIGENDIAN
+       QImage image(width, height, QImage::Format_Mono);
+@@ -2476,9 +2375,9 @@ void SlaOutputDev::drawImageMask(GfxState *state, Object *ref, Stream *str, int
+       int invertBit = invert ? 1 : 0;
+       unsigned char* buffer = image.bits();
+       unsigned char* dest = nullptr;
+-      int rowStride = image.bytesPerLine();
++      qsizetype rowStride = image.bytesPerLine();
+       int i, bit;
+-      Guchar* pix;
++      unsigned char* pix;
+ 
+       for (int y = 0; y < height; y++)
+       {
+@@ -2533,18 +2432,18 @@ void SlaOutputDev::drawImageMask(GfxState *state, Object *ref, Stream *str, int
+       imgStr->close();
+ }
+ 
+-void SlaOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, Stream *maskStr, int maskWidth, int 
maskHeight,
+-                                 GfxImageColorMap *maskColorMap, GBool maskInterpolate)
++void SlaOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, bool interpolate, Stream *maskStr, int maskWidth, int maskHeight,
++                                 GfxImageColorMap *maskColorMap, bool maskInterpolate)
+ {
+ //    qDebug() << "SlaOutputDev::drawSoftMaskedImage Masked Image Components" << colorMap->getNumPixelComps();
+-      auto imgStr = std::make_shared<ImageStream>(str, width, colorMap->getNumPixelComps(), colorMap->getBits());
++      auto imgStr = std::make_unique<ImageStream>(str, width, colorMap->getNumPixelComps(), colorMap->getBits());
+       imgStr->reset();
+       unsigned int *dest = nullptr;
+       unsigned char * buffer = new unsigned char[width * height * 4];
+       for (int y = 0; y < height; y++)
+       {
+               dest = (unsigned int *)(buffer + y * 4 * width);
+-              Guchar * pix = imgStr->getLine();
++              unsigned char * pix = imgStr->getLine();
+               colorMap->getRGBLine(pix, dest, width);
+       }
+ 
+@@ -2555,15 +2454,15 @@ void SlaOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str
+               return;
+       }
+ 
+-      auto mskStr = std::make_shared<ImageStream>(maskStr, maskWidth, maskColorMap->getNumPixelComps(), maskColorMap->getBits());
++      auto mskStr = std::make_unique<ImageStream>(maskStr, maskWidth, maskColorMap->getNumPixelComps(), maskColorMap->getBits());
+       mskStr->reset();
+-      Guchar *mdest = nullptr;
++      unsigned char *mdest = nullptr;
+       unsigned char * mbuffer = new unsigned char[maskWidth * maskHeight];
+       memset(mbuffer, 0, maskWidth * maskHeight);
+       for (int y = 0; y < maskHeight; y++)
+       {
+-              mdest = (Guchar *)(mbuffer + y * maskWidth);
+-              Guchar * pix = mskStr->getLine();
++              mdest = mbuffer + y * maskWidth;
++              unsigned char * pix = mskStr->getLine();
+               maskColorMap->getGrayLine(pix, mdest, maskWidth);
+       }
+       if ((maskWidth != width) || (maskHeight != height))
+@@ -2571,7 +2470,7 @@ void SlaOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str
+       QImage res = image.convertToFormat(QImage::Format_ARGB32);
+ 
+       int matteRc, matteGc, matteBc;
+-      POPPLER_CONST_070 GfxColor *matteColor = maskColorMap->getMatteColor();
++      const GfxColor *matteColor = maskColorMap->getMatteColor();
+       if (matteColor != nullptr)
+       {
+               GfxRGB matteRgb;
+@@ -2610,17 +2509,17 @@ void SlaOutputDev::drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str
+       delete[] mbuffer;
+ }
+ 
+-void SlaOutputDev::drawMaskedImage(GfxState *state, Object *ref, Stream *str,  int width, int height, GfxImageColorMap *colorMap, GBool interpolate, Stream *maskStr, int maskWidth, int maskHeight, 
GBool maskInvert, GBool maskInterpolate)
++void SlaOutputDev::drawMaskedImage(GfxState *state, Object *ref, Stream *str,  int width, int height, GfxImageColorMap *colorMap, bool interpolate, Stream *maskStr, int maskWidth, int maskHeight, 
bool maskInvert, bool maskInterpolate)
+ {
+ //    qDebug() << "SlaOutputDev::drawMaskedImage";
+-      auto imgStr = std::make_shared<ImageStream>(str, width, colorMap->getNumPixelComps(), colorMap->getBits());
++      auto imgStr = std::make_unique<ImageStream>(str, width, colorMap->getNumPixelComps(), colorMap->getBits());
+       imgStr->reset();
+       unsigned int *dest = nullptr;
+       unsigned char * buffer = new unsigned char[width * height * 4];
+       for (int y = 0; y < height; y++)
+       {
+               dest = (unsigned int *)(buffer + y * 4 * width);
+-              Guchar * pix = imgStr->getLine();
++              unsigned char * pix = imgStr->getLine();
+               colorMap->getRGBLine(pix, dest, width);
+       }
+ 
+@@ -2631,16 +2530,16 @@ void SlaOutputDev::drawMaskedImage(GfxState *state, Object *ref, Stream *str,  i
+               return;
+       }
+ 
+-      auto mskStr = std::make_shared<ImageStream>(maskStr, maskWidth, 1, 1);
++      auto mskStr = std::make_unique<ImageStream>(maskStr, maskWidth, 1, 1);
+       mskStr->reset();
+-      Guchar *mdest = nullptr;
++      unsigned char *mdest = nullptr;
+       int invert_bit = maskInvert ? 1 : 0;
+       unsigned char * mbuffer = new unsigned char[maskWidth * maskHeight];
+       memset(mbuffer, 0, maskWidth * maskHeight);
+       for (int y = 0; y < maskHeight; y++)
+       {
+-              mdest = (Guchar *)(mbuffer + y * maskWidth);
+-              Guchar * pix = mskStr->getLine();
++              mdest = mbuffer + y * maskWidth;
++              unsigned char * pix = mskStr->getLine();
+               for (int x = 0; x < maskWidth; x++)
+               {
+                       if (pix[x] ^ invert_bit)
+@@ -2675,9 +2574,9 @@ void SlaOutputDev::drawMaskedImage(GfxState *state, Object *ref, Stream *str,  i
+       delete[] mbuffer;
+ }
+ 
+-void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, POPPLER_CONST_082 int* maskColors, GBool inlineImg)
++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_shared<ImageStream>(str, width, colorMap->getNumPixelComps(), colorMap->getBits());
++      auto imgStr = std::make_unique<ImageStream>(str, width, colorMap->getNumPixelComps(), colorMap->getBits());
+       imgStr->reset();
+ 
+       QImage image(width, height, QImage::Format_ARGB32);
+@@ -2689,7 +2588,7 @@ void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int widt
+               for (int y = 0; y < height; y++)
+               {
+                       QRgb *s = (QRgb*)(image.scanLine(y));
+-                      Guchar *pix = imgStr->getLine();
++                      unsigned char *pix = imgStr->getLine();
+                       for (int x = 0; x < width; x++)
+                       {
+                               GfxRGB rgb;
+@@ -2716,7 +2615,7 @@ void SlaOutputDev::drawImage(GfxState *state, Object *ref, Stream *str, int widt
+               for (int y = 0; y < height; y++)
+               {
+                       QRgb *s = (QRgb*)(image.scanLine(y));
+-                      Guchar *pix = imgStr->getLine();
++                      unsigned char *pix = imgStr->getLine();
+                       for (int x = 0; x < width; x++)
+                       {
+                               if (colorMap->getNumPixelComps() == 4)
+@@ -2899,7 +2798,7 @@ void SlaOutputDev::createImageFrame(QImage& image, GfxState *state, int numColor
+       }
+ }
+ 
+-void SlaOutputDev::beginMarkedContent(POPPLER_CONST char *name, Object *dictRef)
++void SlaOutputDev::beginMarkedContent(const char *name, Object *dictRef)
+ {
+       mContent mSte;
+       mSte.name = QString(name);
+@@ -2925,14 +2824,14 @@ void SlaOutputDev::beginMarkedContent(POPPLER_CONST char *name, Object *dictRef)
+                       Object dictObj = dictRef->fetch(m_xref);
+                       if (!dictObj.isDict())
+                               return;
+-                      Dict* dict = dictObj.getDict();
++                      const Dict* dict = dictObj.getDict();
+                       Object dictType = dict->lookup("Type");
+                       if (dictType.isName("OCG"))
+                       {
+                               oc = contentConfig->findOcgByRef(dictRef->getRef());
+                               if (oc)
+                               {
+-                                      //                                      qDebug() << "Begin OCG Content with Name " << UnicodeParsedString(oc->getName());
++//                                    qDebug() << "Begin OCG Content with Name " << UnicodeParsedString(oc->getName());
+                                       m_doc->setActiveLayer(UnicodeParsedString(oc->getName()));
+                                       mSte.ocgName = UnicodeParsedString(oc->getName());
+                               }
+@@ -2942,7 +2841,7 @@ void SlaOutputDev::beginMarkedContent(POPPLER_CONST char *name, Object *dictRef)
+       m_mcStack.push(mSte);
+ }
+ 
+-void SlaOutputDev::beginMarkedContent(POPPLER_CONST char *name, Dict *properties)
++void SlaOutputDev::beginMarkedContent(const char *name, Dict *properties)
+ {
+ //    qDebug() << "Begin Marked Content with Name " << QString(name);
+       QString nam(name);
+@@ -2959,7 +2858,7 @@ void SlaOutputDev::beginMarkedContent(POPPLER_CONST char *name, Dict *properties
+                       QString lName = QString("Layer_%1").arg(m_layerNum + 1);
+                       Object obj = properties->lookup("Title");
+                       if (obj.isString())
+-                              lName = QString(obj.getString()->getCString());
++                              lName = QString(obj.getString()->c_str());
+                       for (const auto& layer : m_doc->Layers)
+                       {
+                               if (layer.Name == lName)
+@@ -3019,12 +2918,12 @@ void SlaOutputDev::endMarkedContent(GfxState *state)
+       }
+ }
+ 
+-void SlaOutputDev::markPoint(POPPLER_CONST char *name)
++void SlaOutputDev::markPoint(const char *name)
+ {
+ //    qDebug() << "Begin Marked Point with Name " << QString(name);
+ }
+ 
+-void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties)
++void SlaOutputDev::markPoint(const char *name, Dict *properties)
+ {
+ //    qDebug() << "Begin Marked Point with Name " << QString(name) << "and Properties";
+       beginMarkedContent(name, properties);
+@@ -3037,19 +2936,18 @@ void SlaOutputDev::updateFont(GfxState *state)
+       std::string fileName;
+       std::unique_ptr<FoFiTrueType> ff;
+       std::optional<std::vector<unsigned char>> tmpBuf;
+-#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
++#else
+       std::optional<GfxFontLoc> fontLoc;
+       const GooString * fileName = nullptr;
+       std::unique_ptr<FoFiTrueType> ff;
+       char* tmpBuf = nullptr;
+-#else
+-      GfxFontLoc * fontLoc = nullptr;
+-      GooString * fileName = nullptr;
+-      FoFiTrueType * ff = nullptr;
+-      char* tmpBuf = nullptr;
+ #endif
+       GfxFontType fontType;
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
++      std::unique_ptr<SlaOutFontFileID> id;
++#else
+       SlaOutFontFileID *id;
++#endif
+       SplashFontFile *fontFile;
+       SplashFontSrc *fontsrc = nullptr;
+       Object refObj, strObj;
+@@ -3079,15 +2977,21 @@ void SlaOutputDev::updateFont(GfxState *state)
+               goto err1;
+ 
+       // check the font file cache
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
++      id = std::make_unique<SlaOutFontFileID>(gfxFont->getID());
++      if ((fontFile = m_fontEngine->getFontFile(*id)))
++              id.reset();
++#else
+       id = new SlaOutFontFileID(gfxFont->getID());
+       if ((fontFile = m_fontEngine->getFontFile(id)))
+               delete id;
++#endif
+       else
+       {
+               fontLoc = gfxFont->locateFont(m_xref ? m_xref : m_pdfDoc->getXRef(), nullptr);
+               if (!fontLoc)
+               {
+-                      error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
++                      error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+                       goto err2;
+               }
+ 
+@@ -3111,10 +3015,8 @@ void SlaOutputDev::updateFont(GfxState *state)
+               { // gfxFontLocExternal
+ #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+                       fileName = fontLoc->path;
+-#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
+-                      fileName = fontLoc->pathAsGooString();
+ #else
+-                      fileName = fontLoc->path;
++                      fileName = fontLoc->pathAsGooString();
+ #endif
+                       fontType = fontLoc->fontType;
+               }
+@@ -3127,56 +3029,80 @@ void SlaOutputDev::updateFont(GfxState *state)
+                       fontsrc->setBuf(std::move(tmpBuf.value()));
+ #else
+               if (fileName)
+-                      fontsrc->setFile(fileName, gFalse);
++                      fontsrc->setFile(fileName, false);
+               else
+-                      fontsrc->setBuf(tmpBuf, tmpBufLen, gTrue);
++                      fontsrc->setBuf(tmpBuf, tmpBufLen, true);
+ #endif
+ 
+               // load the font file
+               switch (fontType) {
+               case fontType1:
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
++                      if (!(fontFile = m_fontEngine->loadType1Font(std::move(id), fontsrc, (const char**) ((Gfx8BitFont*) gfxFont)->getEncoding(), fontLoc->fontNum)))
++                      {
++                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
++                              goto err2;
++                      }
++#else
+                       if (!(fontFile = m_fontEngine->loadType1Font(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
+                       {
+-                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
++                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+                               goto err2;
+                       }
++#endif
+                       break;
+               case fontType1C:
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
++                      if (!(fontFile = m_fontEngine->loadType1CFont(std::move(id), fontsrc, (const char**) ((Gfx8BitFont*) gfxFont)->getEncoding(), fontLoc->fontNum)))
++                      {
++                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
++                              goto err2;
++                      }
++#else
+                       if (!(fontFile = m_fontEngine->loadType1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
+                       {
+-                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
++                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+                               goto err2;
+                       }
++#endif
+                       break;
+               case fontType1COT:
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
++                      if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(std::move(id), fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding(), fontLoc->fontNum)))
++                      {
++                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
++                              goto err2;
++                      }
++#else
+                       if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
+                       {
+-                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
++                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+                               goto err2;
+                       }
++#endif
+                       break;
+               case fontTrueType:
+               case fontTrueTypeOT:
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
++                      if (!fileName.empty())
++                              ff = FoFiTrueType::load(fileName.c_str(), fontLoc->fontNum);
++                      else
++                              ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size(), fontLoc->fontNum);
++#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+                       if (!fileName.empty())
+                               ff = FoFiTrueType::load(fileName.c_str());
+                       else
+                               ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size());
+ #else
+                       if (fileName)
+-                              ff = FoFiTrueType::load(fileName->getCString());
++                              ff = FoFiTrueType::load(fileName->c_str());
+                       else
+                               ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
+ #endif
+                       if (ff)
+                       {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
+                               codeToGID = ((Gfx8BitFont*) gfxFont)->getCodeToGIDMap(ff.get());
+                               ff.reset();
+-#else
+-                              codeToGID = ((Gfx8BitFont *)gfxFont)->getCodeToGIDMap(ff);
+-                              delete ff;
+-#endif
+                               n = 256;
+                       }
+                       else
+@@ -3184,19 +3110,35 @@ void SlaOutputDev::updateFont(GfxState *state)
+                               codeToGID = nullptr;
+                               n = 0;
+                       }
++#if 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)");
++                              goto err2;
++                      }
++#else
+                       if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n)))
+                       {
+-                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
++                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+                               goto err2;
+                       }
++#endif
+                       break;
+               case fontCIDType0:
+               case fontCIDType0C:
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
++                      if (!(fontFile = m_fontEngine->loadCIDFont(std::move(id), fontsrc, fontLoc->fontNum)))
++                      {
++                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
++                              goto err2;
++                      }
++#else
+                       if (!(fontFile = m_fontEngine->loadCIDFont(id, fontsrc)))
+                       {
+-                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
++                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+                               goto err2;
+                       }
++#endif
+                       break;
+               case fontCIDType0COT:
+                       if (((GfxCIDFont *) gfxFont)->getCIDToGID())
+@@ -3210,12 +3152,21 @@ void SlaOutputDev::updateFont(GfxState *state)
+                               codeToGID = nullptr;
+                               n = 0;
+                       }
++#if 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}'",
++                                      gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
++                              goto err2;
++                      }
++#else
+                       if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(id, fontsrc, codeToGID, n)))
+                       {
+                               error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
+-                              gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
++                              gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+                               goto err2;
+                       }
++#endif
+                       break;
+               case fontCIDType2:
+               case fontCIDType2OT:
+@@ -3232,32 +3183,40 @@ void SlaOutputDev::updateFont(GfxState *state)
+                       }
+                       else
+                       {
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
++                              if (!fileName.empty())
++                                      ff = FoFiTrueType::load(fileName.c_str(), fontLoc->fontNum);
++                              else
++                                      ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size(), fontLoc->fontNum);
++#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+                               if (!fileName.empty())
+                                       ff = FoFiTrueType::load(fileName.c_str());
+                               else
+                                       ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size());
+ #else
+                               if (fileName)
+-                                      ff = FoFiTrueType::load(fileName->getCString());
++                                      ff = FoFiTrueType::load(fileName->c_str());
+                               else
+                                       ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
+ #endif
+                               if (! ff)
+                                       goto err2;
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
+                               codeToGID = ((GfxCIDFont*) gfxFont)->getCodeToGIDMap(ff.get(), &n);
+                               ff.reset();
+-#else
+-                              codeToGID = ((GfxCIDFont *)gfxFont)->getCodeToGIDMap(ff, &n);
+-                              delete ff;
+-#endif
+                       }
++#if 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)");
++                              goto err2;
++                      }
++#else
+                       if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n, faceIndex)))
+                       {
+-                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
++                              error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->c_str() : "(unnamed)");
+                               goto err2;
+                       }
++#endif
+                       break;
+               default:
+                       // this shouldn't happen
+@@ -3284,17 +3243,15 @@ void SlaOutputDev::updateFont(GfxState *state)
+       mat[3] = -m22;
+       m_font = m_fontEngine->getFont(fontFile, mat, matrix);
+ 
+-#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0)
+-      delete fontLoc;
+-#endif
+       if (fontsrc && !fontsrc->isFile)
+               fontsrc->unref();
+       return;
+ 
+ err2:
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
++      id.reset();
++#else
+       delete id;
+-#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0)
+-      delete fontLoc;
+ #endif
+ 
+ err1:
+@@ -3302,7 +3259,7 @@ err1:
+               fontsrc->unref();
+ }
+ 
+-void SlaOutputDev::drawChar(GfxState* state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, POPPLER_CONST_082 Unicode* u, int uLen)
++void SlaOutputDev::drawChar(GfxState* state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, const Unicode* u, int uLen)
+ {
+ //    qDebug() << "SlaOutputDev::drawChar code:" << code << "bytes:" << nBytes << "Unicode:" << u << "ulen:" << uLen << "render:" << state->getRender();
+       double x1, y1, x2, y2;
+@@ -3334,7 +3291,7 @@ void SlaOutputDev::drawChar(GfxState* state, double x, double y, double dx, doub
+                       qPath.setFillRule(Qt::WindingFill);
+                       for (int i = 0; i < fontPath->getLength(); ++i)
+                       {
+-                              Guchar f;
++                              unsigned char f;
+                               fontPath->getPoint(i, &x1, &y1, &f);
+                               if (f & splashPathFirst)
+                                       qPath.moveTo(x1,y1);
+@@ -3396,25 +3353,25 @@ void SlaOutputDev::drawChar(GfxState* state, double x, double y, double dx, doub
+ }
+ 
+ 
+-GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, POPPLER_CONST_082 Unicode *u, int uLen)
++bool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, const Unicode *u, int uLen)
+ {
+ //    qDebug() << "beginType3Char";
+ #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
+       GfxFont *gfxFont;
+       if (!(gfxFont = state->getFont().get()))
+-              return gTrue;
++              return true;
+ #else
+       GfxFont* gfxFont;
+       if (!(gfxFont = state->getFont()))
+-              return gTrue;
++              return true;
+ #endif
+       if (gfxFont->getType() != fontType3)
+-              return gTrue;
++              return true;
+       F3Entry f3e;
+       f3e.colored = false;
+       m_F3Stack.push(f3e);
+       pushGroup();
+-      return gFalse;
++      return false;
+ }
+ 
+ void SlaOutputDev::endType3Char(GfxState *state)
+@@ -3514,7 +3471,7 @@ void SlaOutputDev::endTextObject(GfxState *state)
+       }
+ }
+ 
+-QString SlaOutputDev::getColor(GfxColorSpace *color_space, POPPLER_CONST_070 GfxColor *color, int *shade)
++QString SlaOutputDev::getColor(GfxColorSpace *color_space, const GfxColor *color, int *shade)
+ {
+       QString fNam;
+       QString namPrefix = "FromPDF";
+@@ -3561,7 +3518,7 @@ QString SlaOutputDev::getColor(GfxColorSpace *color_space, POPPLER_CONST_070 Gfx
+       {
+               auto* sepColorSpace = (GfxSeparationColorSpace*) color_space;
+               GfxColorSpace* altColorSpace = sepColorSpace->getAlt();
+-              QString name(sepColorSpace->getName()->getCString());
++              QString name(sepColorSpace->getName()->c_str());
+               bool isRegistrationColor = (name == "All");
+               if (isRegistrationColor)
+               {
+@@ -3661,7 +3618,7 @@ QString SlaOutputDev::getAnnotationColor(const AnnotColor *color)
+       return fNam;
+ }
+ 
+-QString SlaOutputDev::convertPath(POPPLER_CONST_083 GfxPath *path)
++QString SlaOutputDev::convertPath(const GfxPath *path)
+ {
+ //    qDebug() << "SlaOutputDev::convertPath";
+       if (! path)
+@@ -3672,7 +3629,7 @@ QString SlaOutputDev::convertPath(POPPLER_CONST_083 GfxPath *path)
+ 
+       for (int i = 0; i < path->getNumSubpaths(); ++i)
+       {
+-              POPPLER_CONST_083 GfxSubpath * subpath = path->getSubpath(i);
++              const GfxSubpath * subpath = path->getSubpath(i);
+               if (subpath->getNumPoints() > 0)
+               {
+                       output += QString("M %1 %2").arg(subpath->getX(0)).arg(subpath->getY(0));
+@@ -3736,7 +3693,7 @@ void SlaOutputDev::getPenState(GfxState *state)
+               pattern[i] = dashPattern[i];
+       m_dashValues = pattern;
+ #else
+-      double *dashPattern;
++      double* dashPattern;
+       int dashLength;
+       state->getLineDash(&dashPattern, &dashLength, &m_dashOffset);
+       QVector<double> pattern(dashLength);
+@@ -3842,7 +3799,7 @@ void SlaOutputDev::applyMask(PageItem *ite)
+       }
+ }
+ 
+-void SlaOutputDev::pushGroup(const QString& maskName, GBool forSoftMask, GBool alpha, bool inverted)
++void SlaOutputDev::pushGroup(const QString& maskName, bool forSoftMask, bool alpha, bool inverted)
+ {
+       groupEntry gElements;
+       gElements.forSoftMask = forSoftMask;
+@@ -3852,23 +3809,23 @@ void SlaOutputDev::pushGroup(const QString& maskName, GBool forSoftMask, GBool a
+       m_groupStack.push(gElements);
+ }
+ 
+-QString SlaOutputDev::UnicodeParsedString(POPPLER_CONST GooString *s1) const
++QString SlaOutputDev::UnicodeParsedString(const GooString *s1) const
+ {
+       if ( !s1 || s1->getLength() == 0 )
+               return QString();
+-      GBool isUnicode;
++      bool isUnicode;
+       int i;
+       Unicode u;
+       QString result;
+       if ((s1->getChar(0) & 0xff) == 0xfe && (s1->getLength() > 1 && (s1->getChar(1) & 0xff) == 0xff))
+       {
+-              isUnicode = gTrue;
++              isUnicode = true;
+               i = 2;
+               result.reserve((s1->getLength() - 2) / 2);
+       }
+       else
+       {
+-              isUnicode = gFalse;
++              isUnicode = false;
+               i = 0;
+               result.reserve(s1->getLength());
+       }
+@@ -3893,19 +3850,19 @@ QString SlaOutputDev::UnicodeParsedString(const std::string& s1) const
+ {
+       if (s1.length() == 0)
+               return QString();
+-      GBool isUnicode;
++      bool isUnicode;
+       size_t i;
+       Unicode u;
+       QString result;
+       if ((s1.at(0) & 0xff) == 0xfe && (s1.length() > 1 && (s1.at(1) & 0xff) == 0xff))
+       {
+-              isUnicode = gTrue;
++              isUnicode = true;
+               i = 2;
+               result.reserve((s1.length() - 2) / 2);
+       }
+       else
+       {
+-              isUnicode = gFalse;
++              isUnicode = false;
+               i = 0;
+               result.reserve(s1.length());
+       }

Index: pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_import_pdf_slaoutput.h
diff -u /dev/null pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_import_pdf_slaoutput.h:1.3
--- /dev/null   Tue Nov 12 21:46:56 2024
+++ pkgsrc/print/scribus-qt5/patches/patch-scribus_plugins_import_pdf_slaoutput.h       Tue Nov 12 21:46:56 2024
@@ -0,0 +1,321 @@
+$NetBSD: patch-scribus_plugins_import_pdf_slaoutput.h,v 1.3 2024/11/12 21:46:56 markd Exp $
+        
+fix build with poppler 24.11.0 (via ArchLinux)
+
+diff --git a/scribus/plugins/import/pdf/slaoutput.h b/scribus/plugins/import/pdf/slaoutput.h
+index 35de565..9eca5a8 100644
+--- scribus/plugins/import/pdf/slaoutput.h
++++ scribus/plugins/import/pdf/slaoutput.h
+@@ -30,9 +30,6 @@ for which a new license (GPL+exception) is in place.
+ #include "selection.h"
+ #include "vgradient.h"
+ 
+-#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(0, 73, 0)
+-#include <poppler/goo/gtypes.h>
+-#endif
+ #include <poppler/Object.h>
+ #include <poppler/OutputDev.h>
+ #include <poppler/Gfx.h>
+@@ -56,9 +53,11 @@ for which a new license (GPL+exception) is in place.
+ #include <poppler/splash/SplashGlyphBitmap.h>
+ 
+ //------------------------------------------------------------------------
+-// LinkSubmitData
++// LinkSubmitForm
+ //------------------------------------------------------------------------
+ 
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(24, 10, 0)
++
+ class LinkSubmitForm: public LinkAction
+ {
+ public:
+@@ -68,17 +67,19 @@ public:
+       virtual ~LinkSubmitForm();
+ 
+       // Was the LinkImportData created successfully?
+-      GBool isOk() POPPLER_CONST override { return fileName != nullptr; }
++      bool isOk() const override { return m_url != nullptr; }
+       // Accessors.
+-      LinkActionKind getKind() POPPLER_CONST override { return actionUnknown; }
+-      GooString *getFileName() { return fileName; }
++      LinkActionKind getKind() const override { return actionUnknown; }
++      GooString *getUrl() { return m_url; }
+       int getFlags() { return m_flags; }
+ 
+ private:
+-      GooString *fileName {nullptr};          // file name
++      GooString *m_url {nullptr};             // URL
+       int m_flags {0};
+ };
+ 
++#endif
++
+ //------------------------------------------------------------------------
+ // LinkImportData
+ //------------------------------------------------------------------------
+@@ -92,9 +93,9 @@ public:
+       virtual ~LinkImportData();
+ 
+       // Was the LinkImportData created successfully?
+-      GBool isOk() POPPLER_CONST override { return fileName != nullptr; }
++      bool isOk() const override { return fileName != nullptr; }
+       // Accessors.
+-      LinkActionKind getKind() POPPLER_CONST override { return actionUnknown; }
++      LinkActionKind getKind() const override { return actionUnknown; }
+       GooString *getFileName() { return fileName; }
+ 
+ private:
+@@ -111,10 +112,17 @@ public:
+       SlaOutFontFileID(const Ref *rA) { r = *rA; }
+       ~SlaOutFontFileID() {}
+ 
+-      GBool matches(SplashFontFileID *id) override
++#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(24, 11, 0)
++      bool matches(const SplashFontFileID& id) const override
++      {
++              return ((const SlaOutFontFileID&) id).r.num == r.num && ((const SlaOutFontFileID&) id).r.gen == r.gen;
++      }
++#else
++      bool matches(SplashFontFileID *id) override
+       {
+               return ((SlaOutFontFileID*) id)->r.num == r.num && ((SlaOutFontFileID *) id)->r.gen == r.gen;
+       }
++#endif
+ 
+ private:
+       Ref r;
+@@ -127,19 +135,19 @@ public:
+       AnoOutputDev(ScribusDoc* doc, QStringList *importedColors);
+       virtual ~AnoOutputDev();
+ 
+-      GBool isOk() { return gTrue; }
+-      GBool upsideDown() override { return gTrue; }
+-      GBool useDrawChar() override { return gFalse; }
+-      GBool interpretType3Chars() override { return gFalse; }
+-      GBool useTilingPatternFill() override  { return gFalse; }
+-      GBool useShadedFills(int type) override { return gFalse; }
+-      GBool useFillColorStop() override { return gFalse; }
+-      GBool useDrawForm() override { return gFalse; }
++      bool isOk() { return true; }
++      bool upsideDown() override { return true; }
++      bool useDrawChar() override { return false; }
++      bool interpretType3Chars() override { return false; }
++      bool useTilingPatternFill() override  { return false; }
++      bool useShadedFills(int type) override { return false; }
++      bool useFillColorStop() override { return false; }
++      bool useDrawForm() override { return false; }
+ 
+       void stroke(GfxState *state) override;
+       void eoFill(GfxState *state) override;
+       void fill(GfxState *state) override;
+-      void drawString(GfxState *state, POPPLER_CONST GooString *s) override;
++      void drawString(GfxState *state, const GooString *s) override;
+ 
+       QString currColorText;
+       QString currColorFill;
+@@ -149,7 +157,7 @@ public:
+       GooString *itemText {nullptr};
+ 
+ private:
+-      QString getColor(GfxColorSpace *color_space, POPPLER_CONST_070 GfxColor *color, int *shade);
++      QString getColor(GfxColorSpace *color_space, const GfxColor *color, int *shade);
+       ScribusDoc* m_doc;
+       QStringList *m_importedColors;
+ };
+@@ -163,12 +171,8 @@ public:
+       virtual ~SlaOutputDev();
+ 
+       LinkAction* SC_getAction(AnnotWidget *ano);
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(0, 86, 0)
+       std::unique_ptr<LinkAction> SC_getAdditionalAction(const char *key, AnnotWidget *ano);
+-#else
+-      LinkAction* SC_getAdditionalAction(const char *key, AnnotWidget *ano);
+-#endif
+-      static GBool annotations_callback(Annot *annota, void *user_data);
++      static bool annotations_callback(Annot *annota, void *user_data);
+       bool handleTextAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
+       bool handleLinkAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
+       bool handleWidgetAnnot(Annot* annota, double xCoor, double yCoor, double width, double height);
+@@ -176,16 +180,16 @@ public:
+       void handleActions(PageItem* ite, AnnotWidget *ano);
+       void startDoc(PDFDoc *doc, XRef *xrefA, Catalog *catA);
+ 
+-      GBool isOk() { return gTrue; }
+-      GBool upsideDown() override { return gTrue; }
+-      GBool useDrawChar() override { return gTrue; }
+-      GBool interpretType3Chars() override { return gTrue; }
+-      GBool useTilingPatternFill() override { return gTrue; }
+-      GBool useShadedFills(int type) override { return type <= 7; }
+-      GBool useFillColorStop() override { return gTrue; }
+-      GBool useDrawForm() override { return gFalse; }
++      bool isOk() { return true; }
++      bool upsideDown() override { return true; }
++      bool useDrawChar() override { return true; }
++      bool interpretType3Chars() override { return true; }
++      bool useTilingPatternFill() override { return true; }
++      bool useShadedFills(int type) override { return type <= 7; }
++      bool useFillColorStop() override { return true; }
++      bool useDrawForm() override { return false; }
+ 
+-//    virtual GBool needClipToCropBox() { return gTrue; }
++//    virtual bool needClipToCropBox() { return true; }
+       void startPage(int pageNum, GfxState *, XRef *) override;
+       void endPage() override;
+ 
+@@ -197,35 +201,31 @@ 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)
+       bool 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()); }
+-      GBool radialShadedFill(GfxState *state, GfxRadialShading *shading, double sMin, double sMax) override;
+-      GBool radialShadedSupportExtend(GfxState *state, GfxRadialShading *shading) override { return (shading->getExtend0() == shading->getExtend1()); }
+-      GBool gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangleShading *shading) override;
+-      GBool patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *shading) override;
++      bool functionShadedFill(GfxState * /*state*/, GfxFunctionShading * /*shading*/) override { qDebug() << "Function Shaded Fill";  return false; }
++      bool axialShadedFill(GfxState *state, GfxAxialShading *shading, double tMin, double tMax) override;
++      bool axialShadedSupportExtend(GfxState *state, GfxAxialShading *shading)  override { return (shading->getExtend0() == shading->getExtend1()); }
++      bool radialShadedFill(GfxState *state, GfxRadialShading *shading, double sMin, double sMax) override;
++      bool radialShadedSupportExtend(GfxState *state, GfxRadialShading *shading) override { return (shading->getExtend0() == shading->getExtend1()); }
++      bool gouraudTriangleShadedFill(GfxState *state, GfxGouraudTriangleShading *shading) override;
++      bool patchMeshShadedFill(GfxState *state, GfxPatchMeshShading *shading) override;
+ 
+       //----- path clipping
+       void clip(GfxState *state) override;
+       void eoClip(GfxState *state) override;
+       void clipToStrokePath(GfxState * /*state*/) override { qDebug() << "Clip to StrokePath"; }
+-      virtual GBool deviceHasTextClip(GfxState *state) { return gFalse; }
++      virtual bool deviceHasTextClip(GfxState *state) { return false; }
+ 
+   // If current colorspace is pattern,
+   // does this device support text in pattern colorspace?
+-      virtual GBool supportTextCSPattern(GfxState *state)
++      virtual bool supportTextCSPattern(GfxState *state)
+       {
+               return state->getFillColorSpace()->getMode() == csPattern;
+       }
+ 
+   // If current colorspace is pattern,
+   // need this device special handling for masks in pattern colorspace?
+-      virtual GBool fillMaskCSPattern(GfxState * state)
++      virtual bool fillMaskCSPattern(GfxState * state)
+       {
+               return state->getFillColorSpace()->getMode() == csPattern;
+       }
+@@ -233,37 +233,37 @@ public:
+       virtual void endMaskClip(GfxState *state) { qDebug() << "End Mask Clip"; }
+ 
+   //----- grouping operators
+-      void beginMarkedContent(POPPLER_CONST char *name, Dict *properties) override;
+-      virtual void beginMarkedContent(POPPLER_CONST char *name, Object *dictRef);
++      void beginMarkedContent(const char *name, Dict *properties) override;
++      virtual void beginMarkedContent(const char *name, Object *dictRef);
+       void endMarkedContent(GfxState *state) override;
+-      void markPoint(POPPLER_CONST char *name) override;
+-      void markPoint(POPPLER_CONST char *name, Dict *properties) override;
++      void markPoint(const char *name) override;
++      void markPoint(const char *name, Dict *properties) override;
+ 
+       //----- image drawing
+-      void drawImageMask(GfxState *state, Object *ref, Stream *str, int width, int height, GBool invert, GBool interpolate, GBool inlineImg) override;
+-      void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, GBool interpolate, POPPLER_CONST_082 int *maskColors, GBool inlineImg) override;
++      void drawImageMask(GfxState *state, Object *ref, Stream *str, int width, int height, bool invert, bool interpolate, bool inlineImg) override;
++      void drawImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, bool interpolate, const int *maskColors, bool inlineImg) override;
+       void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
+                                  int width, int height,
+                                  GfxImageColorMap *colorMap,
+-                                 GBool interpolate,
++                                 bool interpolate,
+                                  Stream *maskStr,
+                                  int maskWidth, int maskHeight,
+                                  GfxImageColorMap *maskColorMap,
+-                                 GBool maskInterpolate) override;
++                                 bool maskInterpolate) override;
+ 
+       void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
+                                  int width, int height,
+                                  GfxImageColorMap *colorMap,
+-                                 GBool interpolate,
++                                 bool interpolate,
+                                  Stream *maskStr,
+                                  int maskWidth, int maskHeight,
+-                                 GBool maskInvert, GBool maskInterpolate) override; // { qDebug() << "Draw Masked Image"; }
++                                 bool maskInvert, bool maskInterpolate) override; // { qDebug() << "Draw Masked Image"; }
+ 
+       //----- transparency groups and soft masks
+-      void beginTransparencyGroup(GfxState *state, POPPLER_CONST_070 double *bbox, GfxColorSpace * /*blendingColorSpace*/, GBool /*isolated*/, GBool /*knockout*/, GBool /*forSoftMask*/) override;
+-      void paintTransparencyGroup(GfxState *state, POPPLER_CONST_070 double *bbox) override;
++      void beginTransparencyGroup(GfxState *state, const double *bbox, GfxColorSpace * /*blendingColorSpace*/, bool /*isolated*/, bool /*knockout*/, bool /*forSoftMask*/) override;
++      void paintTransparencyGroup(GfxState *state, const double *bbox) override;
+       void endTransparencyGroup(GfxState *state) override;
+-      void setSoftMask(GfxState * /*state*/, POPPLER_CONST_070 double * /*bbox*/, GBool /*alpha*/, Function * /*transferFunc*/, GfxColor * /*backdropColor*/) override;
++      void setSoftMask(GfxState * /*state*/, const double * /*bbox*/, bool /*alpha*/, Function * /*transferFunc*/, GfxColor * /*backdropColor*/) override;
+       void clearSoftMask(GfxState * /*state*/) override;
+ 
+       void updateFillColor(GfxState *state) override;
+@@ -273,8 +273,8 @@ public:
+       //----- text drawing
+       void  beginTextObject(GfxState *state) override;
+       void  endTextObject(GfxState *state) override;
+-      void  drawChar(GfxState *state, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, double /*originX*/, double /*originY*/, CharCode /*code*/, int /*nBytes*/, POPPLER_CONST_082 Unicode 
* /*u*/, int /*uLen*/) override;
+-      GBool beginType3Char(GfxState * /*state*/, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, CharCode /*code*/, POPPLER_CONST_082 Unicode * /*u*/, int /*uLen*/) override;
++      void  drawChar(GfxState *state, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, double /*originX*/, double /*originY*/, CharCode /*code*/, int /*nBytes*/, const Unicode * /*u*/, int 
/*uLen*/) override;
++      bool  beginType3Char(GfxState * /*state*/, double /*x*/, double /*y*/, double /*dx*/, double /*dy*/, CharCode /*code*/, const Unicode * /*u*/, int /*uLen*/) override;
+       void  endType3Char(GfxState * /*state*/) override;
+       void  type3D0(GfxState * /*state*/, double /*wx*/, double /*wy*/) override;
+       void  type3D1(GfxState * /*state*/, double /*wx*/, double /*wy*/, double /*llx*/, double /*lly*/, double /*urx*/, double /*ury*/) override;
+@@ -293,7 +293,7 @@ public:
+ protected:
+       void setItemFillAndStroke(GfxState* state, PageItem* textNode);
+       void applyMask(PageItem* ite);
+-      void pushGroup(const QString& maskName = "", GBool forSoftMask = gFalse, GBool alpha = gFalse, bool inverted = false);
++      void pushGroup(const QString& maskName = "", bool forSoftMask = false, bool alpha = false, bool inverted = false);
+ 
+       ScribusDoc* m_doc;
+       Qt::PenCapStyle m_lineEnd { Qt::FlatCap };
+@@ -354,9 +354,9 @@ protected:
+       struct groupEntry
+       {
+               QList<PageItem*> Items;
+-              GBool forSoftMask { gFalse };
+-              GBool isolated { gFalse };
+-              GBool alpha { gFalse };
++              bool forSoftMask { false };
++              bool isolated { false };
++              bool alpha { false };
+               QString maskName;
+               QPointF maskPos;
+               bool inverted { false };
+@@ -367,11 +367,11 @@ protected:
+ 
+ private:
+       void getPenState(GfxState *state);
+-      QString getColor(GfxColorSpace *color_space, POPPLER_CONST_070 GfxColor *color, int *shade);
++      QString getColor(GfxColorSpace *color_space, const GfxColor *color, int *shade);
+       QString getAnnotationColor(const AnnotColor *color);
+-      QString convertPath(POPPLER_CONST_083 GfxPath *path);
++      QString convertPath(const GfxPath *path);
+       int getBlendMode(GfxState *state) const;
+-      QString UnicodeParsedString(POPPLER_CONST GooString *s1) const;
++      QString UnicodeParsedString(const GooString *s1) const;
+       QString UnicodeParsedString(const std::string& s1) const;
+       bool checkClip();
+ 
+@@ -420,11 +420,7 @@ private:
+       Catalog *m_catalog {nullptr};
+       SplashFontEngine *m_fontEngine {nullptr};
+       SplashFont *m_font {nullptr};
+-#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(21, 4, 0)
+       std::unique_ptr<FormPageWidgets> m_formWidgets;
+-#else
+-      FormPageWidgets *m_formWidgets {nullptr};
+-#endif
+       QHash<QString, QList<int> > m_radioMap;
+       QHash<int, PageItem*> m_radioButtons;
+       int m_actPage { 1 };



Home | Main Index | Thread Index | Old Index