From 2256dc75677d29b2821fccafdd16d5e8eb27ce12 Mon Sep 17 00:00:00 2001 From: kramm Date: Wed, 19 Mar 2008 21:50:04 +0000 Subject: [PATCH] fixed mem leak --- lib/pdf/pdf.cc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/pdf/pdf.cc b/lib/pdf/pdf.cc index c828f02..f651e58 100644 --- a/lib/pdf/pdf.cc +++ b/lib/pdf/pdf.cc @@ -22,6 +22,8 @@ static char* global_page_range = 0; static parameter_t* device_config = 0; static parameter_t* device_config_next = 0; +static int globalparams_count=0; + typedef struct _pdf_page_info { int xMin, yMin, xMax, yMax; @@ -133,8 +135,6 @@ void pdfpage_rendersection(gfxpage_t*page, gfxdevice_t*output, gfxcoord_t x, gfx render2(page, output); } -static int globalparams_count=0; - void pdf_doc_destroy(gfxdocument_t*gfx) { pdf_doc_internal_t*i= (pdf_doc_internal_t*)gfx->internal; @@ -480,6 +480,14 @@ void pdf_destroy(gfxsource_t*src) return; gfxsource_internal_t*i = (gfxsource_internal_t*)src->internal; free(src->internal);src->internal=0; + + parameter_t*p = device_config; + while(p) { + parameter_t*next = p->next; + p->next = 0;free(p); + p = next; + } + delete globalParams;globalParams = 0; } gfxsource_t*gfxsource_pdf_create() -- 1.7.10.4