diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/pdf/pdf-form.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/source/pdf/pdf-form.c b/source/pdf/pdf-form.c index 73c9d2e5..f6e2f721 100644 --- a/source/pdf/pdf-form.c +++ b/source/pdf/pdf-form.c @@ -436,10 +436,22 @@ void pdf_update_appearance(pdf_document *doc, pdf_annot *annot) { /* Apply formatting */ pdf_js_event e; + fz_context *ctx = doc->ctx; e.target = obj; e.value = pdf_field_value(doc, obj); - pdf_js_setup_event(doc->js, &e); + fz_try(ctx) + { + pdf_js_setup_event(doc->js, &e); + } + fz_always(ctx) + { + fz_free(ctx, e.value); + } + fz_catch(ctx) + { + fz_rethrow(ctx); + } execute_action(doc, obj, formatting); /* Update appearance from JS event.value */ pdf_update_text_appearance(doc, obj, pdf_js_get_event(doc->js)->value); |