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.
161 lines
4.9 KiB
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);
|