Index | Thread | Search

From:
Matthias Kilian <kili@outback.escape.de>
Subject:
print/scribus: fix with poppler-24.10.0
To:
ports@openbsd.org
Date:
Tue, 22 Oct 2024 20:17:11 +0200

Download raw body.

Thread
  • Matthias Kilian:

    print/scribus: fix with poppler-24.10.0

Fix the build with poppler-24.10.0.

Any objections?

Ciao,
	Kili

Index: patches/patch-scribus_plugins_import_pdf_slaoutput_cpp
===================================================================
RCS file: patches/patch-scribus_plugins_import_pdf_slaoutput_cpp
diff -N patches/patch-scribus_plugins_import_pdf_slaoutput_cpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-scribus_plugins_import_pdf_slaoutput_cpp	22 Oct 2024 18:08:27 -0000
@@ -0,0 +1,76 @@
+Fix build with poppler-24.10.0. From upstream commits 26325 and 26327.
+
+Index: scribus/plugins/import/pdf/slaoutput.cpp
+--- scribus/plugins/import/pdf/slaoutput.cpp.orig
++++ scribus/plugins/import/pdf/slaoutput.cpp
+@@ -81,6 +81,8 @@ namespace
+ 	}
+ }
+ 
++#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(24, 10, 0)
++
+ LinkSubmitForm::LinkSubmitForm(Object *actionObj)
+ {
+ 	if (!actionObj->isDict())
+@@ -97,7 +99,7 @@ LinkSubmitForm::LinkSubmitForm(Object *actionObj)
+ 			{
+ 				Object obj2 = obj1.dictLookup("F");
+ 				if (!obj2.isNull())
+-					fileName = obj2.getString()->copy();
++					m_url = obj2.getString()->copy();
+ 			}
+ 		}
+ 	}
+@@ -108,9 +110,11 @@ LinkSubmitForm::LinkSubmitForm(Object *actionObj)
+ 
+ LinkSubmitForm::~LinkSubmitForm()
+ {
+-	delete fileName;
++	delete m_url;
+ }
+ 
++#endif
++
+ LinkImportData::LinkImportData(Object *actionObj)
+ {
+ 	if (!actionObj->isDict())
+@@ -1078,6 +1082,30 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotW
+ 				}
+ 			}
+ 		}
++		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;
+@@ -1106,7 +1134,7 @@ void SlaOutputDev::handleActions(PageItem* ite, AnnotW
+ 						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);
Index: patches/patch-scribus_plugins_import_pdf_slaoutput_h
===================================================================
RCS file: patches/patch-scribus_plugins_import_pdf_slaoutput_h
diff -N patches/patch-scribus_plugins_import_pdf_slaoutput_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-scribus_plugins_import_pdf_slaoutput_h	22 Oct 2024 18:08:27 -0000
@@ -0,0 +1,40 @@
+Fix build with poppler-24.10.0. From upstream commits 26325 and 26327.
+
+Index: scribus/plugins/import/pdf/slaoutput.h
+--- scribus/plugins/import/pdf/slaoutput.h.orig
++++ scribus/plugins/import/pdf/slaoutput.h
+@@ -56,9 +56,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,16 +70,18 @@ class LinkSubmitForm: public LinkAction (public)
+ 	virtual ~LinkSubmitForm();
+ 
+ 	// Was the LinkImportData created successfully?
+-	GBool isOk() POPPLER_CONST override { return fileName != nullptr; }
++	GBool isOk() POPPLER_CONST override { return m_url != nullptr; }
+ 	// Accessors.
+ 	LinkActionKind getKind() POPPLER_CONST override { return actionUnknown; }
+-	GooString *getFileName() { return fileName; }
++	GooString *getFileName() { 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