You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-tex/luatex/files/poppler018.patch

161 lines
4.9 KiB

by Martin von Gagern
https://bugs.gentoo.org/show_bug.cgi?id=384875
http://thread.gmane.org/gmane.comp.tex.luatex/2630
--- luatex-beta-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc
+++ luatex-beta-0.70.1/source/texk/web2c/luatexdir/lua/lepdflib.cc
@@ -89,7 +89,6 @@ new_poppler_userdata(AnnotBorder);
new_poppler_userdata(Annots);
new_poppler_userdata(Array);
new_poppler_userdata(Catalog);
-new_poppler_userdata(EmbFile);
new_poppler_userdata(Dict);
//new_poppler_userdata(GooString);
new_poppler_userdata(LinkDest);
@@ -393,7 +392,7 @@ static int m_Annot__gc(lua_State * L)
printf("\n===== Annot GC ===== uin=<%p>\n", uin);
#endif
if (uin->atype == ALLOC_LEPDF)
- delete(Annot *) uin->d;
+ ((Annot *) uin->d)->decRefCnt();
return 0;
}
@@ -408,34 +407,6 @@ static const struct luaL_Reg Annot_m[] =
};
//**********************************************************************
-// AnnotBorderStyle
-
-m_poppler_get_DOUBLE(AnnotBorderStyle, getWidth);
-
-m_poppler__tostring(AnnotBorderStyle);
-
-static int m_Annots__gc(lua_State * L)
-{
- udstruct *uin;
- uin = (udstruct *) luaL_checkudata(L, 1, M_Annots);
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
-#ifdef DEBUG
- printf("\n===== Annots GC ===== uin=<%p>\n", uin);
-#endif
- if (uin->atype == ALLOC_LEPDF)
- delete(Annots *) uin->d;
- return 0;
-}
-
-static const struct luaL_Reg AnnotBorderStyle_m[] = {
- {"getWidth", m_AnnotBorderStyle_getWidth},
- {"__tostring", m_AnnotBorderStyle__tostring},
- {"__gc", m_Annots__gc},
- {NULL, NULL} // sentinel
-};
-
-//**********************************************************************
// Annots
m_poppler_get_INT(Annots, getNumAnnots);
@@ -683,31 +654,6 @@ static int m_Catalog_findDest(lua_State
m_poppler_get_poppler(Catalog, Object, getDests);
m_poppler_get_INT(Catalog, numEmbeddedFiles);
-
-static int m_Catalog_embeddedFile(lua_State * L)
-{
- EmbFile *ef;
- int i, len;
- udstruct *uin, *uout;
- uin = (udstruct *) luaL_checkudata(L, 1, M_Catalog);
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
- i = luaL_checkint(L, 2);
- len = ((Catalog *) uin->d)->numEmbeddedFiles();
- if (i > 0 && i <= len) {
- ef = ((Catalog *) uin->d)->embeddedFile(i - 1);
- if (ef != NULL) {
- uout = new_EmbFile_userdata(L);
- uout->d = ef;
- uout->pc = uin->pc;
- uout->pd = uin->pd;
- } else
- lua_pushnil(L);
- } else
- lua_pushnil(L);
- return 1;
-}
-
m_poppler_get_INT(Catalog, numJS);
static int m_Catalog_getJS(lua_State * L)
@@ -749,7 +695,6 @@ static const struct luaL_Reg Catalog_m[]
{"findDest", m_Catalog_findDest},
{"getDests", m_Catalog_getDests},
{"numEmbeddedFiles", m_Catalog_numEmbeddedFiles},
- {"embeddedFile", m_Catalog_embeddedFile},
{"numJS", m_Catalog_numJS},
{"getJS", m_Catalog_getJS},
{"getOutline", m_Catalog_getOutline},
@@ -759,49 +704,6 @@ static const struct luaL_Reg Catalog_m[]
};
//**********************************************************************
-// EmbFile
-
-m_poppler_get_GOOSTRING(EmbFile, name);
-m_poppler_get_GOOSTRING(EmbFile, description);
-m_poppler_get_INT(EmbFile, size);
-m_poppler_get_GOOSTRING(EmbFile, modDate);
-m_poppler_get_GOOSTRING(EmbFile, createDate);
-m_poppler_get_GOOSTRING(EmbFile, checksum);
-m_poppler_get_GOOSTRING(EmbFile, mimeType);
-
-static int m_EmbFile_streamObject(lua_State * L)
-{
- udstruct *uin, *uout;
- uin = (udstruct *) luaL_checkudata(L, 1, M_EmbFile);
- if (uin->pd != NULL && uin->pd->pc != uin->pc)
- pdfdoc_changed_error(L);
- uout = new_Object_userdata(L);
- uout->d = new Object(); // automatic init to type "none"
- ((EmbFile *) uin->d)->streamObject().copy((Object *) uout->d);
- uout->pc = uin->pc;
- uout->pd = uin->pd;
- return 1;
-}
-
-m_poppler_get_BOOL(EmbFile, isOk);
-
-m_poppler__tostring(EmbFile);
-
-static const struct luaL_Reg EmbFile_m[] = {
- {"name", m_EmbFile_name},
- {"description", m_EmbFile_description},
- {"size", m_EmbFile_size},
- {"modDate", m_EmbFile_modDate},
- {"createDate", m_EmbFile_createDate},
- {"checksum", m_EmbFile_checksum},
- {"mimeType", m_EmbFile_mimeType},
- {"streamObject", m_EmbFile_streamObject},
- {"isOk", m_EmbFile_isOk},
- {"__tostring", m_EmbFile__tostring},
- {NULL, NULL} // sentinel
-};
-
-//**********************************************************************
// Dict
static int m_Dict_incRef(lua_State * L)
@@ -2683,11 +2585,9 @@ int luaopen_epdf(lua_State * L)
{
register_meta(Annot);
// TODO register_meta(AnnotBorder);
- register_meta(AnnotBorderStyle);
register_meta(Annots);
register_meta(Array);
register_meta(Catalog);
- register_meta(EmbFile);
register_meta(Dict);
register_meta(GooString);
register_meta(LinkDest);