diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2016-04-19 16:54:52 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2016-05-13 11:42:00 +0200 |
commit | b994d72069d761c8645cc6a0638bde21109c0b40 (patch) | |
tree | 2d95cbdb501d81b49210d6c115b51bb5fa9c62a7 /source/fitz/context.c | |
parent | e67981e781fd087d7cd19e2373b3e054375e82ad (diff) | |
download | mupdf-b994d72069d761c8645cc6a0638bde21109c0b40.tar.xz |
Introduce a general output context.
This makes it possible to redirect standard out and standard error output
streams to output streams of your liking.
This means that now you can, in gdb, type:
(gdb) call pdf_print_obj(ctx, fz_stdout(ctx), obj, 0)
(gdb) call fflush(0)
or when dealing with an unresolved indirect reference:
(gdb) call pdf_print_obj(ctx, fz_stdout(ctx), pdf_resolve_indirect(ctx, ref), 0)
(gdb) call fflush(0)
Diffstat (limited to 'source/fitz/context.c')
-rw-r--r-- | source/fitz/context.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/fitz/context.c b/source/fitz/context.c index bfc7a1cd..9a533cff 100644 --- a/source/fitz/context.c +++ b/source/fitz/context.c @@ -132,6 +132,7 @@ fz_drop_context(fz_context *ctx) fz_drop_colorspace_context(ctx); fz_drop_font_context(ctx); fz_drop_id_context(ctx); + fz_drop_output_context(ctx); if (ctx->warn) { @@ -222,6 +223,7 @@ fz_new_context_imp(const fz_alloc_context *alloc, const fz_locks_context *locks, /* Now initialise sections that are shared */ fz_try(ctx) { + fz_new_output_context(ctx); fz_new_store_context(ctx, max_store); fz_new_glyph_cache_context(ctx); fz_new_colorspace_context(ctx); @@ -266,6 +268,8 @@ fz_clone_context_internal(fz_context *ctx) fz_copy_aa_context(new_ctx, ctx); /* Keep thread lock checking happy by copying pointers first and locking under new context */ + new_ctx->output = ctx->output; + new_ctx->output = fz_keep_output_context(new_ctx); new_ctx->user = ctx->user; new_ctx->store = ctx->store; new_ctx->store = fz_keep_store_context(new_ctx); |