From 8addb8e4d0adb8f90430dca0af115fe75b8e29d8 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Fri, 22 Jun 2012 13:38:29 -0500 Subject: [PATCH] Fix FTBFS on Poppler >= 0.20 This resolves Bug 1061 (cherry picked from commit 44d1a52bf8b9bf70433107446ec20dfe05b198fb) --- config.h.cmake | 1 + .../dependencies/poppler-tqt/ConfigureChecks.cmake | 5 +++++ .../dependencies/poppler-tqt/poppler-document.cc | 8 +++++--- .../dependencies/poppler-tqt/poppler-page.cc | 12 ++++++++++-- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/config.h.cmake b/config.h.cmake index 083047f1..81d35102 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -1,6 +1,7 @@ #cmakedefine VERSION "@VERSION@" // poppler-tqt +#cmakedefine HAVE_POPPLER_020 #cmakedefine HAVE_POPPLER_016 // kpdf, kdvi diff --git a/kfile-plugins/dependencies/poppler-tqt/ConfigureChecks.cmake b/kfile-plugins/dependencies/poppler-tqt/ConfigureChecks.cmake index 2242eed0..eab7a0a9 100644 --- a/kfile-plugins/dependencies/poppler-tqt/ConfigureChecks.cmake +++ b/kfile-plugins/dependencies/poppler-tqt/ConfigureChecks.cmake @@ -15,4 +15,9 @@ check_cxx_source_compiles(" #include int main(int, char**) { int a; int b; PSOutputDev *psOut = new PSOutputDev(\"test\", (PDFDoc*)0, (XRef*)0, (Catalog*)0, NULL, 0, 0, psModePS, a, b); } " HAVE_POPPLER_016 ) +check_cxx_source_compiles(" + #include + int main(int, char**) { int a; int b; PSOutputDev *psOut = new PSOutputDev(\"test\", (PDFDoc*)0, NULL, 0, 0, psModePS, a, b); } " + HAVE_POPPLER_020 ) tde_restore( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES ) + diff --git a/kfile-plugins/dependencies/poppler-tqt/poppler-document.cc b/kfile-plugins/dependencies/poppler-tqt/poppler-document.cc index a13fd99a..0856d83f 100644 --- a/kfile-plugins/dependencies/poppler-tqt/poppler-document.cc +++ b/kfile-plugins/dependencies/poppler-tqt/poppler-document.cc @@ -317,17 +317,19 @@ bool Document::print(const TQString &fileName, TQValueList pageList, double bool Document::print(const TQString &file, TQValueList pageList, double hDPI, double vDPI, int rotate, int paperWidth, int paperHeight) { -#ifdef HAVE_POPPLER_016 +#ifdef HAVE_POPPLER_020 + PSOutputDev *psOut = new PSOutputDev(file.latin1(), &(data->doc), NULL, 1, data->doc.getNumPages(), psModePS, paperWidth, paperHeight); +#elif HAVE_POPPLER_016 PSOutputDev *psOut = new PSOutputDev(file.latin1(), &(data->doc), data->doc.getXRef(), data->doc.getCatalog(), NULL, 1, data->doc.getNumPages(), psModePS, paperWidth, paperHeight); #else PSOutputDev *psOut = new PSOutputDev(file.latin1(), data->doc.getXRef(), data->doc.getCatalog(), NULL, 1, data->doc.getNumPages(), psModePS, paperWidth, paperHeight); #endif - + if (psOut->isOk()) { TQValueList::iterator it; for (it = pageList.begin(); it != pageList.end(); ++it ) data->doc.displayPage(psOut, *it, hDPI, vDPI, rotate, gFalse, gTrue, gTrue); - + delete psOut; return true; } else { diff --git a/kfile-plugins/dependencies/poppler-tqt/poppler-page.cc b/kfile-plugins/dependencies/poppler-tqt/poppler-page.cc index b6be9bd1..c5be6ddf 100644 --- a/kfile-plugins/dependencies/poppler-tqt/poppler-page.cc +++ b/kfile-plugins/dependencies/poppler-tqt/poppler-page.cc @@ -128,8 +128,12 @@ TQString Page::getText(const Rectangle &r) const PDFRectangle *rect; TQString result; ::Page *p; - + +#ifdef HAVE_POPPLER_020 + output_dev = new TextOutputDev(0, gFalse, 0, gFalse, gFalse); +#else output_dev = new TextOutputDev(0, gFalse, gFalse, gFalse); +#endif data->doc->data->doc.displayPageSlice(output_dev, data->index + 1, 72, 72, 0, false, false, false, -1, -1, -1, -1); p = data->doc->data->doc.getCatalog()->getPage(data->index + 1); @@ -159,8 +163,12 @@ TQValueList Page::textList() const TextOutputDev *output_dev; TQValueList output_list; - + +#ifdef HAVE_POPPLER_020 + output_dev = new TextOutputDev(0, gFalse, 0, gFalse, gFalse); +#else output_dev = new TextOutputDev(0, gFalse, gFalse, gFalse); +#endif data->doc->data->doc.displayPageSlice(output_dev, data->index + 1, 72, 72, 0, false, false, false, -1, -1, -1, -1);