From 51def346963b9868f5a40f3d752435ed12aebe0c Mon Sep 17 00:00:00 2001 From: Paul Gardiner Date: Thu, 27 Aug 2015 14:09:27 +0100 Subject: Fix bug in setting of opts->ofs_list In the incremental case, we should update ofs_list only when actually writing an object to file. This is work towards bug #696123. --- source/pdf/pdf-write.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source/pdf') diff --git a/source/pdf/pdf-write.c b/source/pdf/pdf-write.c index 991341ca..021df307 100644 --- a/source/pdf/pdf-write.c +++ b/source/pdf/pdf-write.c @@ -2105,9 +2105,11 @@ dowriteobject(fz_context *ctx, pdf_document *doc, pdf_write_options *opts, int n { if (pass > 0) padto(opts->out, opts->ofs_list[num]); - opts->ofs_list[num] = fz_ftell(opts->out); if (!opts->do_incremental || pdf_xref_is_incremental(ctx, doc, num)) + { + opts->ofs_list[num] = fz_ftell(opts->out); writeobject(ctx, doc, opts, num, opts->gen_list[num], 1); + } } else opts->use_list[num] = 0; -- cgit v1.2.3