git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed mem leak
[swftools.git]
/
lib
/
pdf
/
pdf.cc
diff --git
a/lib/pdf/pdf.cc
b/lib/pdf/pdf.cc
index
f7fb640
..
f651e58
100644
(file)
--- a/
lib/pdf/pdf.cc
+++ b/
lib/pdf/pdf.cc
@@
-8,7
+8,6
@@
#include "GFXOutputDev.h"
#include "FullBitmapOutputDev.h"
#include "BitmapOutputDev.h"
#include "GFXOutputDev.h"
#include "FullBitmapOutputDev.h"
#include "BitmapOutputDev.h"
-#include "DummyOutputDev.h"
#include "../mem.h"
#include "pdf.h"
#define NO_ARGPARSER
#include "../mem.h"
#include "pdf.h"
#define NO_ARGPARSER
@@
-23,6
+22,8
@@
static char* global_page_range = 0;
static parameter_t* device_config = 0;
static parameter_t* device_config_next = 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;
typedef struct _pdf_page_info
{
int xMin, yMin, xMax, yMax;
@@
-134,8
+135,6
@@
void pdfpage_rendersection(gfxpage_t*page, gfxdevice_t*output, gfxcoord_t x, gfx
render2(page, output);
}
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;
void pdf_doc_destroy(gfxdocument_t*gfx)
{
pdf_doc_internal_t*i= (pdf_doc_internal_t*)gfx->internal;
@@
-481,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;
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()
}
gfxsource_t*gfxsource_pdf_create()