void pdf_dropoutline(pdf_outline *outline) { if (outline->child) pdf_dropoutline(outline->child); if (outline->next) pdf_dropoutline(outline->next); pdf_droplink(outline->link); fz_free(outline->title); fz_free(outline); }
void epdf_document_delete(Epdf_Document* doc) { if(!doc) return; if(doc->outline) { pdf_dropoutline(doc->outline); doc->outline = NULL; } if(doc->xref->store) { pdf_dropstore(doc->xref->store); doc->xref->store = NULL; } pdf_closexref(doc->xref); doc->xref = NULL; if(doc->rast) { fz_droprenderer(doc->rast); doc->rast = NULL; } free(doc); }
void pdfapp_close(pdfapp_t *app) { if (app->pages) pdf_droppagetree(app->pages); app->pages = nil; if (app->page) pdf_droppage(app->page); app->page = nil; if (app->image) fz_droppixmap(app->image); app->image = nil; if (app->outline) pdf_dropoutline(app->outline); app->outline = nil; if (app->xref->store) pdf_dropstore(app->xref->store); app->xref->store = nil; pdf_closexref(app->xref); app->xref = nil; }
static void pdfClose(PDFContext* ctx) { if (ctx->page) pdf_droppage(ctx->page); ctx->page = 0; if (ctx->pages) pdf_droppagetree(ctx->pages); ctx->pages = 0; /*if (ctx->image) fz_droppixmap(ctx->image); ctx->image = nil;*/ if (ctx->outline) pdf_dropoutline(ctx->outline); ctx->outline = 0; if (ctx->xref->store) pdf_dropstore(ctx->xref->store); ctx->xref->store = 0; pdf_closexref(ctx->xref); ctx->xref = 0; if (ctx->rast) fz_droprenderer(ctx->rast); ctx->rast = 0; //printf("alloc_current = %d\n", (int)alloc_current); }
void pdfapp_close(pdfapp_t *app) { if (app->cache) fz_freeglyphcache(app->cache); app->cache = nil; if (app->page) pdf_droppage(app->page); app->page = nil; if (app->image) fz_droppixmap(app->image); app->image = nil; if (app->text) fz_freetextspan(app->text); app->text = nil; if (app->outline) pdf_dropoutline(app->outline); app->outline = nil; if (app->xref->store) pdf_dropstore(app->xref->store); app->xref->store = nil; pdf_closexref(app->xref); app->xref = nil; }