+--- scribus-1.5.6/scribus/plugins/import/pdf/importpdf.cpp
++++ scribus-1.5.6/scribus/plugins/import/pdf/importpdf.cpp
+@@ -792,14 +792,15 @@ bool PdfPlug::convert(const QString& fn)
+ names = catDict.dictLookup("OpenAction");\r
+ if (names.isDict())\r
+ {\r
+- LinkAction *linkAction = nullptr;\r
++ std::unique_ptr<::LinkAction> linkAction;\r
+ linkAction = LinkAction::parseAction(&names, pdfDoc->getCatalog()->getBaseURI());\r
+ if (linkAction)\r
+ {\r
+- LinkJavaScript *jsa = (LinkJavaScript*)linkAction;\r
++ LinkJavaScript *jsa = static_cast<LinkJavaScript *>(linkAction.get());
+ if (jsa->isOk())\r
+ {\r
+- QString script = UnicodeParsedString(jsa->getScript());\r
++ const GooString scriptGooString(jsa->getScript());
++ QString script = UnicodeParsedString(&scriptGooString);\r
+ if (script.startsWith("this."))\r
+ {\r
+ script.remove(0, 5);\r
+--- scribus-1.5.6/scribus/plugins/import/pdf/slaoutput.cpp
++++ scribus-1.5.6/scribus/plugins/import/pdf/slaoutput.cpp
+@@ -324,7 +324,7 @@ LinkAction* SlaOutputDev::SC_getAddition
+ {\r
+ Object actionObject = additionalActionsObject.dictLookup(key);\r
+ if (actionObject.isDict())\r
+- linkAction = LinkAction::parseAction(&actionObject, pdfDoc->getCatalog()->getBaseURI());\r
++ linkAction = (LinkAction::parseAction(&actionObject, pdfDoc->getCatalog()->getBaseURI())).release();\r
+ }\r
+ }\r
+ return linkAction;\r
+@@ -455,7 +455,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot
+ POPPLER_CONST GooString *ndst = gto->getNamedDest();\r
+ if (ndst)\r
+ {\r
+- LinkDest *dstn = pdfDoc->findDest(ndst);\r
++ std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst);\r
+ if (dstn)\r
+ {\r
+ if (dstn->getKind() == destXYZ)\r
+@@ -499,7 +499,7 @@ bool SlaOutputDev::handleLinkAnnot(Annot
+ POPPLER_CONST GooString *ndst = gto->getNamedDest();\r
+ if (ndst)\r
+ {\r
+- LinkDest *dstn = pdfDoc->findDest(ndst);\r
++ std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst);\r
+ if (dstn)\r
+ {\r
+ if (dstn->getKind() == destXYZ)\r
+@@ -516,8 +516,9 @@ bool SlaOutputDev::handleLinkAnnot(Annot
+ else if (act->getKind() == actionURI)\r
+ {\r
+ LinkURI *gto = (LinkURI*)act;\r
++ const GooString uriGooString(gto->getURI());
+ validLink = true;\r
+- fileName = UnicodeParsedString(gto->getURI());\r
++ fileName = UnicodeParsedString(&uriGooString);\r
+ }\r
+ if (validLink)\r
+ {\r
+@@ -929,8 +930,9 @@ void SlaOutputDev::handleActions(PageIte
+ LinkJavaScript *jsa = (LinkJavaScript*)Lact;\r
+ if (jsa->isOk())\r
+ {\r
++ const GooString scriptGooString(jsa->getScript());
+ ite->annotation().setActionType(1);\r
+- ite->annotation().setAction(UnicodeParsedString(jsa->getScript()));\r
++ ite->annotation().setAction(UnicodeParsedString(&scriptGooString));\r
+ }\r
+ }\r
+ else if (Lact->getKind() == actionGoTo)\r
+@@ -967,7 +969,7 @@ void SlaOutputDev::handleActions(PageIte
+ POPPLER_CONST GooString *ndst = gto->getNamedDest();\r
+ if (ndst)\r
+ {\r
+- LinkDest *dstn = pdfDoc->findDest(ndst);\r
++ std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst);\r
+ if (dstn)\r
+ {\r
+ if (dstn->getKind() == destXYZ)\r
+@@ -1019,7 +1021,7 @@ void SlaOutputDev::handleActions(PageIte
+ POPPLER_CONST GooString *ndst = gto->getNamedDest();\r
+ if (ndst)\r
+ {\r
+- LinkDest *dstn = pdfDoc->findDest(ndst);\r
++ std::unique_ptr<LinkDest> dstn = pdfDoc->findDest(ndst);\r
+ if (dstn)\r
+ {\r
+ if (dstn->getKind() == destXYZ)\r
+@@ -1039,7 +1041,8 @@ void SlaOutputDev::handleActions(PageIte
+ else if (Lact->getKind() == actionUnknown)\r
+ {\r
+ LinkUnknown *uno = (LinkUnknown*)Lact;\r
+- QString actString = UnicodeParsedString(uno->getAction());\r
++ const GooString actionGooString(uno->getAction());
++ QString actString = UnicodeParsedString(&actionGooString);\r
+ if (actString == "ResetForm")\r
+ {\r
+ ite->annotation().setActionType(4);\r
+@@ -1082,8 +1085,9 @@ void SlaOutputDev::handleActions(PageIte
+ else if (Lact->getKind() == actionNamed)\r
+ {\r
+ LinkNamed *uno = (LinkNamed*)Lact;\r
++ const GooString nameGooString(uno->getName());
+ ite->annotation().setActionType(10);\r
+- ite->annotation().setAction(UnicodeParsedString(uno->getName()));\r
++ ite->annotation().setAction(UnicodeParsedString(&nameGooString));\r
+ }\r
+ else\r
+ qDebug() << "Found unsupported Action of type" << Lact->getKind();\r
+@@ -1096,7 +1100,8 @@ void SlaOutputDev::handleActions(PageIte
+ LinkJavaScript *jsa = (LinkJavaScript*)Aact;\r
+ if (jsa->isOk())\r
+ {\r
+- ite->annotation().setD_act(UnicodeParsedString(jsa->getScript()));\r
++ const GooString scriptGooString(jsa->getScript());
++ ite->annotation().setD_act(UnicodeParsedString(&scriptGooString));\r
+ ite->annotation().setAAact(true);\r
+ }\r
+ }\r
+@@ -1110,7 +1115,8 @@ void SlaOutputDev::handleActions(PageIte
+ LinkJavaScript *jsa = (LinkJavaScript*)Aact;\r
+ if (jsa->isOk())\r
+ {\r
+- ite->annotation().setE_act(UnicodeParsedString(jsa->getScript()));\r
++ const GooString scriptGooString(jsa->getScript());
++ ite->annotation().setE_act(UnicodeParsedString(&scriptGooString));\r
+ ite->annotation().setAAact(true);\r
+ }\r
+ }\r
+@@ -1124,7 +1130,8 @@ void SlaOutputDev::handleActions(PageIte
+ LinkJavaScript *jsa = (LinkJavaScript*)Aact;\r
+ if (jsa->isOk())\r
+ {\r
+- ite->annotation().setX_act(UnicodeParsedString(jsa->getScript()));\r
++ const GooString scriptGooString(jsa->getScript());
++ ite->annotation().setX_act(UnicodeParsedString(&scriptGooString));\r
+ ite->annotation().setAAact(true);\r
+ }\r
+ }\r
+@@ -1138,7 +1145,8 @@ void SlaOutputDev::handleActions(PageIte
+ LinkJavaScript *jsa = (LinkJavaScript*)Aact;\r
+ if (jsa->isOk())\r
+ {\r
+- ite->annotation().setFo_act(UnicodeParsedString(jsa->getScript()));\r
++ const GooString scriptGooString(jsa->getScript());
++ ite->annotation().setFo_act(UnicodeParsedString(&scriptGooString));\r
+ ite->annotation().setAAact(true);\r
+ }\r
+ }\r
+@@ -1152,7 +1160,8 @@ void SlaOutputDev::handleActions(PageIte
+ LinkJavaScript *jsa = (LinkJavaScript*)Aact;\r
+ if (jsa->isOk())\r
+ {\r
+- ite->annotation().setBl_act(UnicodeParsedString(jsa->getScript()));\r
++ const GooString scriptGooString(jsa->getScript());
++ ite->annotation().setBl_act(UnicodeParsedString(&scriptGooString));\r
+ ite->annotation().setAAact(true);\r
+ }\r
+ }\r
+@@ -1166,7 +1175,8 @@ void SlaOutputDev::handleActions(PageIte
+ LinkJavaScript *jsa = (LinkJavaScript*)Aact;\r
+ if (jsa->isOk())\r
+ {\r
+- ite->annotation().setC_act(UnicodeParsedString(jsa->getScript()));\r
++ const GooString scriptGooString(jsa->getScript());
++ ite->annotation().setC_act(UnicodeParsedString(&scriptGooString));\r
+ ite->annotation().setAAact(true);\r
+ }\r
+ }\r
+@@ -1180,7 +1190,8 @@ void SlaOutputDev::handleActions(PageIte
+ LinkJavaScript *jsa = (LinkJavaScript*)Aact;\r
+ if (jsa->isOk())\r
+ {\r
+- ite->annotation().setF_act(UnicodeParsedString(jsa->getScript()));\r
++ const GooString scriptGooString(jsa->getScript());
++ ite->annotation().setF_act(UnicodeParsedString(&scriptGooString));\r
+ ite->annotation().setAAact(true);\r
+ ite->annotation().setFormat(5);\r
+ }\r
+@@ -1195,7 +1206,8 @@ void SlaOutputDev::handleActions(PageIte
+ LinkJavaScript *jsa = (LinkJavaScript*)Aact;\r
+ if (jsa->isOk())\r
+ {\r
+- ite->annotation().setK_act(UnicodeParsedString(jsa->getScript()));\r
++ const GooString scriptGooString(jsa->getScript());
++ ite->annotation().setK_act(UnicodeParsedString(&scriptGooString));\r
+ ite->annotation().setAAact(true);\r
+ ite->annotation().setFormat(5);\r
+ }\r
+@@ -1210,7 +1222,8 @@ void SlaOutputDev::handleActions(PageIte
+ LinkJavaScript *jsa = (LinkJavaScript*)Aact;\r
+ if (jsa->isOk())\r
+ {\r
+- ite->annotation().setV_act(UnicodeParsedString(jsa->getScript()));\r
++ const GooString scriptGooString(jsa->getScript());
++ ite->annotation().setV_act(UnicodeParsedString(&scriptGooString));\r
+ ite->annotation().setAAact(true);\r
+ }\r
+ }\r