summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-09-02 04:31:18 +0100
committerMichael Stahl <michael.stahl@allotropia.de>2022-09-15 12:12:51 +0200
commit74cd48b887716c91af7f2f08ddd6f6ab493e78ac (patch)
treeaf61809c2e2eac9a0771d74abc442fd02ad00507
parentUpdate for Poppler 22.06 (diff)
downloadcore-74cd48b887716c91af7f2f08ddd6f6ab493e78ac.tar.gz
core-74cd48b887716c91af7f2f08ddd6f6ab493e78ac.zip
Fix build with Poppler 22.09.0
With Poppler 22.09.0, LO fails to build with: ``` /var/tmp/portage/app-office/libreoffice-7.3.5.2/work/libreoffice-7.3.5.2/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx:682:36: error: too many arguments to function call, expected single argument 'start', have 3 arguments state->getLineDash(&dashArray, &arrayLen, &startOffset); ~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/poppler/GfxState.h:1506:32: note: 'getLineDash' declared here const std::vector<double> &getLineDash(double *start) ^ 1 error generated. ``` Poppler changed the getLineDash interface: ``` - void getLineDash(double **dash, int *length, double *start) + const std::vector<double> &getLineDash(double *start) ``` Signed-off-by: Sam James <sam@gentoo.org> Change-Id: I29e18f20d7650a7fcac1bc8ab4aaa04aaa2ab8fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139249 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit b7d63694985bbb1cf86eb71769feadb28ce68c17) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139835 (cherry picked from commit 89d2ecd6bc71fc6e581cff595b18ae67a13d8b11)
-rw-r--r--sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
index e423e70d0e1d..561fca3c64a3 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -661,8 +661,15 @@ void PDFOutDev::updateLineDash(GfxState *state)
return;
assert(state);
- double* dashArray; int arrayLen; double startOffset;
+ int arrayLen; double startOffset;
+#if POPPLER_CHECK_VERSION(22, 9, 0)
+ const std::vector<double> &dash = state->getLineDash(&startOffset);
+ const double* dashArray = dash.data();
+ arrayLen = dash.size();
+#else
+ double* dashArray;
state->getLineDash(&dashArray, &arrayLen, &startOffset);
+#endif
printf( "updateLineDash" );
if( arrayLen && dashArray )