diff options
Diffstat (limited to 'development/gambas3/adapt-to-poppler-0.58.patch')
-rw-r--r-- | development/gambas3/adapt-to-poppler-0.58.patch | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/development/gambas3/adapt-to-poppler-0.58.patch b/development/gambas3/adapt-to-poppler-0.58.patch new file mode 100644 index 0000000000..b2819da569 --- /dev/null +++ b/development/gambas3/adapt-to-poppler-0.58.patch @@ -0,0 +1,105 @@ +From 6a4adabfd7e02e6fef99049e8e2373b12b559e69 Mon Sep 17 00:00:00 2001 +From: David Tardon <dtardon@redhat.com> +Date: Wed, 6 Sep 2017 12:58:12 +0200 +Subject: [PATCH] adapt to poppler 0.58 + +--- + gb.pdf/configure.ac | 2 ++ + gb.pdf/src/CPdfDocument.cpp | 24 ++++++++++++++++++++++++ + 2 files changed, 26 insertions(+) + +diff --git a/gb.pdf/configure.ac b/gb.pdf/configure.ac +index 25b344a9a..be4bf9557 100644 +--- a/gb.pdf/configure.ac ++++ b/gb.pdf/configure.ac +@@ -29,6 +29,8 @@ if test "$have_poppler" = "yes"; then + AC_DEFINE_UNQUOTED(POPPLER_VERSION_0_17, $((1-$?)), Poppler version >= 0.17) + pkg-config --atleast-version=0.20.0 poppler + AC_DEFINE_UNQUOTED(POPPLER_VERSION_0_20, $((1-$?)), Poppler version >= 0.20) ++ pkg-config --atleast-version=0.58.0 poppler ++ AC_DEFINE_UNQUOTED(POPPLER_VERSION_0_58, $((1-$?)), Poppler version >= 0.58) + fi + + AC_OUTPUT( \ +diff --git a/gb.pdf/src/CPdfDocument.cpp b/gb.pdf/src/CPdfDocument.cpp +index 43802c77b..80d2d97c5 100644 +--- a/gb.pdf/src/CPdfDocument.cpp ++++ b/gb.pdf/src/CPdfDocument.cpp +@@ -132,11 +132,19 @@ static void aux_return_string_info(void *_object, const char *key) + Dict *info_dict; + char *tmpstr; + ++ #if POPPLER_VERSION_0_58 ++ obj = THIS->doc->getDocInfo (); ++ #else + THIS->doc->getDocInfo (&obj); ++ #endif + if (!obj.isDict()) { GB.ReturnNewZeroString(""); return; } + + info_dict=obj.getDict(); ++ #if POPPLER_VERSION_0_58 ++ dst = info_dict->lookup ((char *)key); ++ #else + info_dict->lookup ((char *)key, &dst); ++ #endif + if (!dst.isString ()) { GB.ReturnNewZeroString(""); } + else { + goo_value = dst.getString(); +@@ -149,8 +157,10 @@ static void aux_return_string_info(void *_object, const char *key) + else + GB.ReturnNewString(goo_value->getCString(),goo_value->getLength()); + } ++ #if ! POPPLER_VERSION_0_58 + dst.free(); + obj.free(); ++ #endif + } + + static void aux_return_date_info(void *_object, const char *key) +@@ -167,11 +177,19 @@ static void aux_return_date_info(void *_object, const char *key) + + GB.ReturnDate(NULL); + ++ #if POPPLER_VERSION_0_58 ++ obj = THIS->doc->getDocInfo (); ++ #else + THIS->doc->getDocInfo (&obj); ++ #endif + if (!obj.isDict()) return; + + info_dict=obj.getDict(); ++ #if POPPLER_VERSION_0_58 ++ dst = info_dict->lookup ((char *)key); ++ #else + info_dict->lookup ((char *)key, &dst); ++ #endif + if (dst.isString ()) + { + goo = dst.getString(); +@@ -197,8 +215,10 @@ static void aux_return_date_info(void *_object, const char *key) + } + + if (tofree) GB.FreeString(&tofree); ++ #if ! POPPLER_VERSION_0_58 + dst.free(); + obj.free(); ++ #endif + } + + static LinkDest *get_dest(LinkAction *act) +@@ -426,8 +446,12 @@ int32_t open_document (void *_object, char *sfile, int32_t lfile) + + if ( GB.LoadFile(sfile,lfile,&buf,&len) ) return -1; + ++ #if POPPLER_VERSION_0_58 ++ stream=new MemStream(buf,0,(Guint)len,std::move(obj)); ++ #else + obj.initNull(); + stream=new MemStream(buf,0,(Guint)len,&obj); ++ #endif + test=new PDFDoc (stream,0,0); + + if (!test->isOk()) +-- +2.13.5 + |