Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.4:Update
gdal.17803
gdal-fix-build-poppler.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gdal-fix-build-poppler.patch of Package gdal.17803
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);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor