sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx | 12 ++++++++++++ 1 file changed, 12 insertions(+)
New commits: commit aa94faf493945e854a888e809a9c5cc8d6d0b978 Author: Michael Stahl <michael.st...@allotropia.de> AuthorDate: Tue Jan 7 18:42:29 2025 +0100 Commit: Michael Stahl <michael.st...@allotropia.de> CommitDate: Wed Jan 8 10:18:17 2025 +0100 sdext: adapt xpdfwrapper to poppler 24.12 Change-Id: Ia47edf2ac821e3ef5c40f7582253f894eac74060 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179902 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@allotropia.de> diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx index 4d915ce73be1..e2c241d9c3ff 100644 --- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx +++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx @@ -1101,7 +1101,12 @@ void PDFOutDev::drawImageMask(GfxState* pState, Object*, Stream* str, int bitsPerComponent = 1; StreamColorSpaceMode csMode = streamCSNone; +#if POPPLER_CHECK_VERSION(24, 12, 0) + bool hasAlpha; + str->getImageParams( &bitsPerComponent, &csMode, &hasAlpha ); +#else str->getImageParams( &bitsPerComponent, &csMode ); +#endif if( bitsPerComponent == 1 && (csMode == streamCSNone || csMode == streamCSDeviceGray) ) { GfxRGB oneColor = { dblToCol( 1.0 ), dblToCol( 1.0 ), dblToCol( 1.0 ) }; @@ -1317,10 +1322,17 @@ poppler_bool PDFOutDev::tilingPatternFill(GfxState *state, Gfx *, Catalog *, std::unique_ptr<MemStream> pAlphaStr(new MemStream(reinterpret_cast<char *>(pSplashBitmap->getAlphaPtr()), 0, nBitmapWidth * nBitmapHeight, Object(objNull))); auto aDecode = Object(objNull); +#if POPPLER_CHECK_VERSION(24, 10, 0) + std::unique_ptr<GfxImageColorMap> pRgbIdentityColorMap(new GfxImageColorMap(8, &aDecode, + std::make_unique<GfxDeviceRGBColorSpace>())); + std::unique_ptr<GfxImageColorMap> pGrayIdentityColorMap(new GfxImageColorMap(8, &aDecode, + std::make_unique<GfxDeviceGrayColorSpace>())); +#else std::unique_ptr<GfxImageColorMap> pRgbIdentityColorMap(new GfxImageColorMap(8, &aDecode, new GfxDeviceRGBColorSpace())); std::unique_ptr<GfxImageColorMap> pGrayIdentityColorMap(new GfxImageColorMap(8, &aDecode, new GfxDeviceGrayColorSpace())); +#endif OutputBuffer aBuf; initBuf(aBuf); writePng_(aBuf, pRgbStr.get(), nBitmapWidth, nBitmapHeight, pRgbIdentityColorMap.get(),