From 66f878d1d7c580f9010e9f362399606989671a45 Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Sat, 25 Mar 2017 17:39:45 -0400 Subject: Tweak document_writer - don't pass dev back in. It seems odd for a document writer to pass a device pointer out, and then require it to be passed back in. Hide that in the public API. --- source/fitz/writer.c | 13 +++++++++++-- source/tools/muconvert.c | 2 +- source/tools/murun.c | 7 +++---- 3 files changed, 15 insertions(+), 7 deletions(-) (limited to 'source') diff --git a/source/fitz/writer.c b/source/fitz/writer.c index 67a1d5ef..6c774d47 100644 --- a/source/fitz/writer.c +++ b/source/fitz/writer.c @@ -165,11 +165,20 @@ fz_drop_document_writer(fz_context *ctx, fz_document_writer *wri) fz_device * fz_begin_page(fz_context *ctx, fz_document_writer *wri, const fz_rect *mediabox) { - return wri->begin_page(ctx, wri, mediabox); + if (!wri) + return NULL; + wri->dev = wri->begin_page(ctx, wri, mediabox); + return wri->dev; } void -fz_end_page(fz_context *ctx, fz_document_writer *wri, fz_device *dev) +fz_end_page(fz_context *ctx, fz_document_writer *wri) { + fz_device *dev; + + if (!wri) + return; + dev = wri->dev; + wri->dev = NULL; wri->end_page(ctx, wri, dev); } diff --git a/source/tools/muconvert.c b/source/tools/muconvert.c index 8d4f4dd6..054f8b25 100644 --- a/source/tools/muconvert.c +++ b/source/tools/muconvert.c @@ -66,7 +66,7 @@ static void runpage(int number) fz_bound_page(ctx, page, &mediabox); dev = fz_begin_page(ctx, out, &mediabox); fz_run_page(ctx, page, dev, &fz_identity, NULL); - fz_end_page(ctx, out, dev); + fz_end_page(ctx, out); fz_drop_page(ctx, page); } diff --git a/source/tools/murun.c b/source/tools/murun.c index 75f5d19f..9ee0f0da 100644 --- a/source/tools/murun.c +++ b/source/tools/murun.c @@ -2755,9 +2755,8 @@ static void ffi_DocumentWriter_endPage(js_State *J) { fz_context *ctx = js_getcontext(J); fz_document_writer *wri = js_touserdata(J, 0, "fz_document_writer"); - fz_device *device = js_touserdata(J, 1, "fz_device"); fz_try(ctx) - fz_end_page(ctx, wri, device); + fz_end_page(ctx, wri); fz_catch(ctx) rethrow(J); } @@ -4360,8 +4359,8 @@ int murun_main(int argc, char **argv) js_newobject(J); { jsB_propfun(J, "DocumentWriter.beginPage", ffi_DocumentWriter_beginPage, 1); - jsB_propfun(J, "DocumentWriter.endPage", ffi_DocumentWriter_endPage, 1); - jsB_propfun(J, "DocumentWriter.close", ffi_DocumentWriter_close, 1); + jsB_propfun(J, "DocumentWriter.endPage", ffi_DocumentWriter_endPage, 0); + jsB_propfun(J, "DocumentWriter.close", ffi_DocumentWriter_close, 0); } js_setregistry(J, "fz_document_writer"); -- cgit v1.2.3