From ac010ea325d9c4955b6c589520e8dc5242214e82 Mon Sep 17 00:00:00 2001 From: HW Date: Thu, 8 Dec 2011 23:43:10 +0100 Subject: [PATCH] reworked freeing pdf document resources --- pdf.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pdf.c b/pdf.c index 596d60054..0ec6c7e8d 100644 --- a/pdf.c +++ b/pdf.c @@ -70,8 +70,14 @@ static int openDocument(lua_State *L) { static int closeDocument(lua_State *L) { PdfDocument *doc = (PdfDocument*) luaL_checkudata(L, 1, "pdfdocument"); - fz_free_glyph_cache(doc->glyphcache); - pdf_free_xref(doc->xref); + if(doc->xref != NULL) { + pdf_free_xref(doc->xref); + doc->xref = NULL; + } + if(doc->glyphcache != NULL) { + fz_free_glyph_cache(doc->glyphcache); + doc->glyphcache = NULL; + } } static int getNumberOfPages(lua_State *L) {