summarylogtreecommitdiffstats
path: root/poppler.patch
diff options
context:
space:
mode:
Diffstat (limited to 'poppler.patch')
-rw-r--r--poppler.patch91
1 files changed, 91 insertions, 0 deletions
diff --git a/poppler.patch b/poppler.patch
new file mode 100644
index 000000000000..50c62230e093
--- /dev/null
+++ b/poppler.patch
@@ -0,0 +1,91 @@
+diff --git a/src/pdf/XPDFRenderer.cpp b/src/pdf/XPDFRenderer.cpp
+index a3e828e4..583882aa 100644
+--- a/src/pdf/XPDFRenderer.cpp
++++ b/src/pdf/XPDFRenderer.cpp
+@@ -32,6 +32,7 @@
+ #include <QtGui>
+
+ #include <frameworks/UBPlatformUtils.h>
++#include <poppler/cpp/poppler-version.h>
+
+ #include "core/memcheck.h"
+
+@@ -51,7 +52,7 @@ XPDFRenderer::XPDFRenderer(const QString &filename, bool importingFile)
+ globalParams->setupBaseFonts(QFile::encodeName(UBPlatformUtils::applicationResourcesDirectory() + "/" + "fonts").data());
+ }
+
+- mDocument = new PDFDoc(new GString(filename.toLocal8Bit()), 0, 0, 0); // the filename GString is deleted on PDFDoc desctruction
++ mDocument = new PDFDoc(new GooString(filename.toLocal8Bit()), 0, 0, 0); // the filename GString is deleted on PDFDoc desctruction
+ sInstancesCount.ref();
+ }
+
+@@ -99,16 +100,28 @@ QString XPDFRenderer::title() const
+ {
+ if (isValid())
+ {
++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 55
++ Object pdfInfo = mDocument->getDocInfo();
++#else
+ Object pdfInfo;
+ mDocument->getDocInfo(&pdfInfo);
++#endif
+ if (pdfInfo.isDict())
+ {
+- Object title;
+ Dict *infoDict = pdfInfo.getDict();
+- if (infoDict->lookup((char*)"Title", &title)->isString())
++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 55
++ Object title = infoDict->lookup((char*)"Title");
++#else
++ Object title;
++ infoDict->lookup((char*)"Title", &title);
++#endif
++ if (title.isString())
+ {
+- GString *gstring = title.getString();
+- return QString(gstring->getCString());
++#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 72
++ return QString(title.getString()->c_str());
++#else
++ return QString(title.getString()->getCString());
++#endif
+ }
+ }
+ }
+@@ -172,12 +185,12 @@ QImage* XPDFRenderer::createPDFImage(int pageNumber, qreal xscale, qreal yscale,
+ SplashColor paperColor = {0xFF, 0xFF, 0xFF}; // white
+ if(mSplash)
+ delete mSplash;
+- mSplash = new SplashOutputDev(splashModeRGB8, 1, gFalse, paperColor);
+- mSplash->startDoc(mDocument->getXRef());
++ mSplash = new SplashOutputDev(splashModeRGB8, 1, false, paperColor);
++ mSplash->startDoc(mDocument);
+ int rotation = 0; // in degrees (get it from the worldTransform if we want to support rotation)
+- GBool useMediaBox = gFalse;
+- GBool crop = gTrue;
+- GBool printing = gFalse;
++ bool useMediaBox = false;
++ bool crop = true;
++ bool printing = false;
+ mSliceX = 0.;
+ mSliceY = 0.;
+
+diff --git a/src/pdf/XPDFRenderer.h b/src/pdf/XPDFRenderer.h
+index 8ab200bc..003a2055 100644
+--- a/src/pdf/XPDFRenderer.h
++++ b/src/pdf/XPDFRenderer.h
+@@ -36,10 +36,10 @@
+ #include "globals/UBGlobals.h"
+
+ THIRD_PARTY_WARNINGS_DISABLE
+-#include <xpdf/Object.h>
+-#include <xpdf/GlobalParams.h>
+-#include <xpdf/SplashOutputDev.h>
+-#include <xpdf/PDFDoc.h>
++#include <poppler/Object.h>
++#include <poppler/GlobalParams.h>
++#include <poppler/SplashOutputDev.h>
++#include <poppler/PDFDoc.h>
+ THIRD_PARTY_WARNINGS_ENABLE
+
+ class PDFDoc;