This commit is contained in:
parent
1ba4f83cba
commit
7fefadb997
@ -1,54 +0,0 @@
|
|||||||
From 2d5f96f233e6bda613e98e056bb9a39d12409e32 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Even Rouault <even.rouault@spatialys.com>
|
|
||||||
Date: Fri, 18 Feb 2022 22:47:01 +0100
|
|
||||||
Subject: [PATCH] PDF: fix build against Poppler > 22.2
|
|
||||||
|
|
||||||
---
|
|
||||||
gdal/frmts/pdf/pdfdataset.cpp | 17 +++++++++++------
|
|
||||||
1 file changed, 11 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
Index: gdal-3.4.1/frmts/pdf/pdfdataset.cpp
|
|
||||||
===================================================================
|
|
||||||
--- gdal-3.4.1.orig/frmts/pdf/pdfdataset.cpp
|
|
||||||
+++ gdal-3.4.1/frmts/pdf/pdfdataset.cpp
|
|
||||||
@@ -4241,8 +4241,6 @@ PDFDataset *PDFDataset::Open( GDALOpenIn
|
|
||||||
#ifdef HAVE_POPPLER
|
|
||||||
if(bUseLib.test(PDFLIB_POPPLER))
|
|
||||||
{
|
|
||||||
- GooString* poUserPwd = nullptr;
|
|
||||||
-
|
|
||||||
static bool globalParamsCreatedByGDAL = false;
|
|
||||||
{
|
|
||||||
CPLMutexHolderD(&hGlobalParamsMutex);
|
|
||||||
@@ -4310,9 +4308,6 @@ PDFDataset *PDFDataset::Open( GDALOpenIn
|
|
||||||
while( true )
|
|
||||||
{
|
|
||||||
VSIFSeekL(fp, 0, SEEK_SET);
|
|
||||||
- if (pszUserPwd)
|
|
||||||
- poUserPwd = new GooString(pszUserPwd);
|
|
||||||
-
|
|
||||||
g_nPopplerErrors = 0;
|
|
||||||
if( globalParamsCreatedByGDAL )
|
|
||||||
registerErrorCallback();
|
|
||||||
@@ -4322,10 +4317,20 @@ PDFDataset *PDFDataset::Open( GDALOpenIn
|
|
||||||
oObj.getObj()->initNull();
|
|
||||||
auto poStream = new VSIPDFFileStream(fp, pszFilename, oObj.getObj());
|
|
||||||
#endif
|
|
||||||
+#if POPPLER_MAJOR_VERSION > 22 || (POPPLER_MAJOR_VERSION == 22 && POPPLER_MINOR_VERSION > 2)
|
|
||||||
+ std::optional<GooString> osUserPwd;
|
|
||||||
+ if (pszUserPwd)
|
|
||||||
+ osUserPwd = std::optional<GooString>(pszUserPwd);
|
|
||||||
+ poDocPoppler = new PDFDoc(poStream, std::optional<GooString>(), osUserPwd);
|
|
||||||
+#else
|
|
||||||
+ GooString* poUserPwd = nullptr;
|
|
||||||
+ if (pszUserPwd)
|
|
||||||
+ poUserPwd = new GooString(pszUserPwd);
|
|
||||||
poDocPoppler = new PDFDoc(poStream, nullptr, poUserPwd);
|
|
||||||
+ delete poUserPwd;
|
|
||||||
+#endif
|
|
||||||
if( globalParamsCreatedByGDAL )
|
|
||||||
registerErrorCallback();
|
|
||||||
- delete poUserPwd;
|
|
||||||
if( g_nPopplerErrors >= MAX_POPPLER_ERRORS )
|
|
||||||
{
|
|
||||||
PDFFreeDoc(poDocPoppler);
|
|
Loading…
x
Reference in New Issue
Block a user