From: Alessandro Astone Date: Wed, 15 Jan 2025 17:08:55 +0000 (+0100) Subject: Fix compilation with poppler version >= 24.12. X-Git-Tag: archive/raspbian/3.20.2-1+rpi1^2^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=4727ec6e9773855f6fc3c530a1b99d7eaf9e6c26;p=gambas3.git Fix compilation with poppler version >= 24.12. Forwarded: https://gitlab.com/gambas/gambas/-/merge_requests/383 Gbp-Pq: Name Fix-compilation-with-poppler-version-24.12.patch --- diff --git a/gb.pdf/configure.ac b/gb.pdf/configure.ac index bbb4fe6b..ca36347c 100644 --- a/gb.pdf/configure.ac +++ b/gb.pdf/configure.ac @@ -40,6 +40,8 @@ if test "$have_poppler" = "yes"; then AC_DEFINE_UNQUOTED(POPPLER_VERSION_24_05_0, $((1-$?)), Poppler version >= 24.05.0) $PKG_CONFIG --atleast-version=24.11.0 poppler AC_DEFINE_UNQUOTED(POPPLER_VERSION_24_11_0, $((1-$?)), Poppler version >= 24.11.0) + $PKG_CONFIG --atleast-version=24.12.0 poppler + AC_DEFINE_UNQUOTED(POPPLER_VERSION_24_12_0, $((1-$?)), Poppler version >= 24.12.0) fi AC_CONFIG_FILES([\ diff --git a/gb.pdf/src/CPdfDocument.cpp b/gb.pdf/src/CPdfDocument.cpp index 979254ef..d66b4a82 100644 --- a/gb.pdf/src/CPdfDocument.cpp +++ b/gb.pdf/src/CPdfDocument.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -1028,6 +1029,9 @@ BEGIN_METHOD(PDFPAGE_select, GB_INTEGER X; GB_INTEGER Y; GB_INTEGER W; GB_INTEGE TextOutputDev *dev; GooString *str; +#if POPPLER_VERSION_24_12_0 + std::unique_ptr _gfx; +#endif Gfx *gfx; int32_t x,y,w,h; @@ -1037,7 +1041,10 @@ BEGIN_METHOD(PDFPAGE_select, GB_INTEGER X; GB_INTEGER Y; GB_INTEGER W; GB_INTEGE h = VARGOPT(H, (int32_t)THIS->page->getMediaHeight()); dev = new TextOutputDev (NULL, true, 0, false, false); -#if POPPLER_VERSION_24_11_0 +#if POPPLER_VERSION_24_12_0 + _gfx = THIS->page->createGfx(dev,72.0,72.0,0,false,true,-1, -1, -1, -1, NULL, NULL); + gfx = _gfx.get(); +#elif POPPLER_VERSION_24_11_0 gfx = THIS->page->createGfx(dev,72.0,72.0,0,false,true,-1, -1, -1, -1, NULL, NULL); #else gfx = THIS->page->createGfx(dev,72.0,72.0,0,false,true,-1, -1, -1, -1, false, NULL, NULL); @@ -1048,7 +1055,9 @@ BEGIN_METHOD(PDFPAGE_select, GB_INTEGER X; GB_INTEGER Y; GB_INTEGER W; GB_INTEGE str=dev->getText((double)x,(double)y,(double)(w+x),(double)(h+y)); +#if !(POPPLER_VERSION_24_12_0) delete gfx; +#endif delete dev; if (!str)