diff options
Diffstat (limited to 'source/pdf/pdf-write.c')
-rw-r--r-- | source/pdf/pdf-write.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/pdf/pdf-write.c b/source/pdf/pdf-write.c index 53761bc7..078719a6 100644 --- a/source/pdf/pdf-write.c +++ b/source/pdf/pdf-write.c @@ -2632,9 +2632,17 @@ void pdf_write_document(pdf_document *doc, char *filename, fz_write_options *fz_ opts.rev_gen_list[num] = pdf_get_xref_entry(doc, num)->gen; } + if (opts.do_incremental && opts.do_garbage) + fz_throw(ctx, FZ_ERROR_GENERIC, "Can't do incremental writes with garbage collection"); + if (opts.do_incremental && opts.do_linear) + fz_throw(ctx, FZ_ERROR_GENERIC, "Can't do incremental writes with linearisation"); + /* Make sure any objects hidden in compressed streams have been loaded */ if (!opts.do_incremental) + { + pdf_ensure_solid_xref(doc, xref_len); preloadobjstms(doc); + } /* Sweep & mark objects from the trailer */ if (opts.do_garbage >= 1) |