On Mon, Nov 04, 2019 at 08:28:36PM +0100, Matthias Kilian wrote:
> > update to poppler-0.82.0.
> 
> [...]
> 
> > As always, tests from other people (and on other architectures) are
> > welcome.
> 
> Don't waste time with this to try to build libreoffice yet -- it's
> broken. [...]

The diff below fixes at least the build, and it should be possible to
commit this before the poppler update.

ok?

Ciao,
        Kili

Index: patches/patch-sdext_source_pdfimport_xpdfwrapper_pdfioutdev_gpl_cxx
===================================================================
RCS file: patches/patch-sdext_source_pdfimport_xpdfwrapper_pdfioutdev_gpl_cxx
diff -N patches/patch-sdext_source_pdfimport_xpdfwrapper_pdfioutdev_gpl_cxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-sdext_source_pdfimport_xpdfwrapper_pdfioutdev_gpl_cxx 5 Nov 
2019 21:47:52 -0000
@@ -0,0 +1,71 @@
+$OpenBSD$
+
+Fix build with poppler-8.82.0.
+
+https://gerrit.libreoffice.org/plugins/gitiles/core/+/2eadd46ab81058087af95bdfc1fea28fcdb65998%5E%21
+
+Index: sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+--- sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx.orig
++++ sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+@@ -863,11 +863,20 @@ void PDFOutDev::eoClip(GfxState *state)
+     local offset of character (zero for horizontal writing mode). not
+     taken into account for output pos updates. Used for vertical writing.
+  */
++
++#if POPPLER_CHECK_VERSION(0, 82, 0)
+ void PDFOutDev::drawChar(GfxState *state, double x, double y,
+                          double dx, double dy,
+                          double originX, double originY,
++                         CharCode, int /*nBytes*/, const Unicode *u, int uLen)
++{
++#else
++void PDFOutDev::drawChar(GfxState *state, double x, double y,
++                         double dx, double dy,
++                         double originX, double originY,
+                          CharCode, int /*nBytes*/, Unicode *u, int uLen)
+ {
++#endif
+     assert(state);
+ 
+     if( u == nullptr )
+@@ -979,11 +988,19 @@ void PDFOutDev::drawImageMask(GfxState* pState, Object
+     writeBinaryBuffer(aBuf);
+ }
+ 
++#if POPPLER_CHECK_VERSION(0, 82, 0)
+ void PDFOutDev::drawImage(GfxState*, Object*, Stream* str,
+                           int width, int height, GfxImageColorMap* colorMap,
+                           poppler_bool /*interpolate*/,
++                          const int* maskColors, poppler_bool /*inlineImg*/ )
++{
++#else
++void PDFOutDev::drawImage(GfxState*, Object*, Stream* str,
++                          int width, int height, GfxImageColorMap* colorMap,
++                          poppler_bool /*interpolate*/,
+                           int* maskColors, poppler_bool /*inlineImg*/ )
+ {
++#endif
+     if (m_bSkipImages)
+         return;
+     OutputBuffer aBuf; initBuf(aBuf);
+@@ -1004,12 +1021,20 @@ void PDFOutDev::drawImage(GfxState*, Object*, Stream* 
+         {
+             GfxRGB aMinRGB;
+             colorMap->getColorSpace()->getRGB(
++#if POPPLER_CHECK_VERSION(0, 82, 0)
++                reinterpret_cast<const GfxColor*>(maskColors),
++#else
+                 reinterpret_cast<GfxColor*>(maskColors),
++#endif
+                 &aMinRGB );
+ 
+             GfxRGB aMaxRGB;
+             colorMap->getColorSpace()->getRGB(
++#if POPPLER_CHECK_VERSION(0, 82, 0)
++                reinterpret_cast<const 
GfxColor*>(maskColors)+gfxColorMaxComps,
++#else
+                 reinterpret_cast<GfxColor*>(maskColors)+gfxColorMaxComps,
++#endif
+                 &aMaxRGB );
+ 
+             aMaskBuf.push_back( colToByte(aMinRGB.r) );
Index: patches/patch-sdext_source_pdfimport_xpdfwrapper_pdfioutdev_gpl_hxx
===================================================================
RCS file: patches/patch-sdext_source_pdfimport_xpdfwrapper_pdfioutdev_gpl_hxx
diff -N patches/patch-sdext_source_pdfimport_xpdfwrapper_pdfioutdev_gpl_hxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-sdext_source_pdfimport_xpdfwrapper_pdfioutdev_gpl_hxx 5 Nov 
2019 21:47:52 -0000
@@ -0,0 +1,46 @@
+$OpenBSD$
+
+Fix build with poppler-8.82.0.
+
+https://gerrit.libreoffice.org/plugins/gitiles/core/+/2eadd46ab81058087af95bdfc1fea28fcdb65998%5E%21
+
+Index: sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
+--- sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx.orig
++++ sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
+@@ -232,10 +232,17 @@ namespace pdfi
+         virtual void eoClip(GfxState *state) override;
+ 
+         //----- text drawing
++#if POPPLER_CHECK_VERSION(0, 82, 0)
+         virtual void drawChar(GfxState *state, double x, double y,
+                               double dx, double dy,
+                               double originX, double originY,
++                              CharCode code, int nBytes, const Unicode *u, 
int uLen) override;
++#else
++        virtual void drawChar(GfxState *state, double x, double y,
++                              double dx, double dy,
++                              double originX, double originY,
+                               CharCode code, int nBytes, Unicode *u, int 
uLen) override;
++#endif
+ #if POPPLER_CHECK_VERSION(0, 64, 0)
+         virtual void drawString(GfxState *state, const GooString *s) override;
+ #else
+@@ -248,10 +255,17 @@ namespace pdfi
+                                    int width, int height, poppler_bool invert,
+                                    poppler_bool interpolate,
+                                    poppler_bool inlineImg) override;
++#if POPPLER_CHECK_VERSION(0, 82, 0)
+         virtual void drawImage(GfxState *state, Object *ref, Stream *str,
+                                int width, int height, GfxImageColorMap 
*colorMap,
+                                poppler_bool interpolate,
+-                               int* maskColors, poppler_bool inlineImg) 
override;
++                               const int* maskColors, poppler_bool inlineImg) 
override;
++#else
++        virtual void drawImage(GfxState *state, Object *ref, Stream *str,
++                       int width, int height, GfxImageColorMap *colorMap,
++                       poppler_bool interpolate,
++                       int* maskColors, poppler_bool inlineImg) override;
++#endif
+         virtual void drawMaskedImage(GfxState *state, Object *ref, Stream 
*str,
+                                      int width, int height,
+                                      GfxImageColorMap *colorMap,

Reply via email to