From 15ab83e02b07018c3ffd4952a2623393187659e0 Mon Sep 17 00:00:00 2001 From: Evangelos Foutras Date: Wed, 2 Mar 2022 19:50:02 +0200 Subject: [PATCH] Fix build with poppler 22.03.0 PDFDoc's constructor now takes an std::unique_ptr as the filename and the rest of the parameters are std::optional and can be left out. Also, remove an obsolete comment regarding special handling on win32; the "ifndef _WIN32" it was referring to has been removed by commit ad8effaa6ec3 ("Fix PDF import with non-ASCII filename on Windows"). --- src/extension/internal/pdfinput/pdf-input.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) Index: inkscape-1.1.2_2022-02-04_0a00cf5339/src/extension/internal/pdfinput/pdf-input.cpp =================================================================== --- inkscape-1.1.2_2022-02-04_0a00cf5339.orig/src/extension/internal/pdfinput/pdf-input.cpp +++ inkscape-1.1.2_2022-02-04_0a00cf5339/src/extension/internal/pdfinput/pdf-input.cpp @@ -666,10 +666,12 @@ PdfInput::open(::Inkscape::Extension::In // PDFDoc is from poppler. PDFDoc is used for preview and for native import. std::shared_ptr pdf_doc; - // poppler does not use glib g_open. So on win32 we must use unicode call. code was copied from - // glib gstdio.c +#if POPPLER_CHECK_VERSION(22, 3, 0) + pdf_doc = std::make_shared(std::make_unique(uri)); // TODO: Could ask for password +#else GooString *filename_goo = new GooString(uri); - pdf_doc = std::make_shared(filename_goo, nullptr, nullptr, nullptr); // TODO: Could ask for password + pdf_doc = std::make_shared(filename_goo, nullptr, nullptr, nullptr); // TODO: Could ask for password +#endif if (!pdf_doc->isOk()) { int error = pdf_doc->getErrorCode();