Blame SOURCES/texlive-poppler-0.26.5-bz#1217556.patch

eda9f3
diff -up texlive-2012/source/texk/web2c/luatexdir/image/epdf.h.than texlive-2012/source/texk/web2c/luatexdir/image/epdf.h
eda9f3
--- texlive-2012/source/texk/web2c/luatexdir/image/epdf.h.than	2015-04-30 22:34:17.765098640 +0200
eda9f3
+++ texlive-2012/source/texk/web2c/luatexdir/image/epdf.h	2015-04-30 22:35:01.391427071 +0200
eda9f3
@@ -48,6 +48,7 @@ extern "C" {
eda9f3
 #  include "Dict.h"
eda9f3
 #  include "XRef.h"
eda9f3
 #  include "Catalog.h"
eda9f3
+#  include <StructTreeRoot.h>
eda9f3
 #  include "Link.h"
eda9f3
 #  include "Page.h"
eda9f3
 #  include "GfxFont.h"
eda9f3
diff -up texlive-2012/source/texk/web2c/luatexdir/lua/lepdflib.cc.than texlive-2012/source/texk/web2c/luatexdir/lua/lepdflib.cc
eda9f3
--- texlive-2012/source/texk/web2c/luatexdir/lua/lepdflib.cc.than	2015-04-30 22:30:17.574796564 +0200
eda9f3
+++ texlive-2012/source/texk/web2c/luatexdir/lua/lepdflib.cc	2015-04-30 23:10:21.712979610 +0200
eda9f3
@@ -65,6 +65,7 @@ static const char *ErrorCodeNames[] = {
eda9f3
 #define M_PDFRectangle     "PDFRectangle"
eda9f3
 #define M_Ref              "Ref"
eda9f3
 #define M_Stream           "Stream"
eda9f3
+#define M_StructTreeRoot   "StructTreeRoot"
eda9f3
 #define M_XRefEntry        "XRefEntry"
eda9f3
 #define M_XRef             "XRef"
eda9f3
 
eda9f3
@@ -96,6 +97,7 @@ new_poppler_userdata(Page);
eda9f3
 new_poppler_userdata(PDFRectangle);
eda9f3
 new_poppler_userdata(Ref);
eda9f3
 new_poppler_userdata(Stream);
eda9f3
+new_poppler_userdata(StructTreeRoot);
eda9f3
 new_poppler_userdata(XRef);
eda9f3
 
eda9f3
 //**********************************************************************
eda9f3
@@ -573,8 +575,11 @@ static int m_Catalog_getPageRef(lua_Stat
eda9f3
 
eda9f3
 m_poppler_get_GOOSTRING(Catalog, getBaseURI);
eda9f3
 m_poppler_get_GOOSTRING(Catalog, readMetadata);
eda9f3
+#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT
eda9f3
 m_poppler_get_poppler(Catalog, Object, getStructTreeRoot);
eda9f3
-
eda9f3
+#else
eda9f3
+m_poppler_get_poppler(Catalog, StructTreeRoot, getStructTreeRoot);
eda9f3
+#endif
eda9f3
 static int m_Catalog_findPage(lua_State * L)
eda9f3
 {
eda9f3
     int num, gen, i;
eda9f3
@@ -2146,14 +2151,22 @@ static int m_PDFDoc_readMetadata(lua_Sta
eda9f3
 
eda9f3
 static int m_PDFDoc_getStructTreeRoot(lua_State * L)
eda9f3
 {
eda9f3
+#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT
eda9f3
     Object *obj;
eda9f3
+#else
eda9f3
+    StructTreeRoot *obj;
eda9f3
+#endif
eda9f3
     udstruct *uin, *uout;
eda9f3
     uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc);
eda9f3
     if (uin->pd != NULL && uin->pd->pc != uin->pc)
eda9f3
         pdfdoc_changed_error(L);
eda9f3
     if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) {
eda9f3
         obj = ((PdfDocument *) uin->d)->doc->getStructTreeRoot();
eda9f3
+#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT
eda9f3
         uout = new_Object_userdata(L);
eda9f3
+#else
eda9f3
+        uout = new_StructTreeRoot_userdata(L);
eda9f3
+#endif
eda9f3
         uout->d = obj;
eda9f3
         uout->pc = uin->pc;
eda9f3
         uout->pd = uin->pd;