summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Johnson <ajohnson@redneon.com>2014-01-08 07:45:20 +1030
committerAdrian Johnson <ajohnson@redneon.com>2014-01-08 07:45:20 +1030
commitf81b1406755a1e63f0c44996ca9ce3802b1877ba (patch)
treef067dfffbe7dc4bc00b1b9492938befa20d5bc7e
parent2afc941d7ffad3bd37a915e82342640772d4df5b (diff)
ps: fix imagemask with pattern source failure on some printers
When /PaintProc is invoked the pattern dict is pushed onto the stack. Ensure this dict is removed. https://bugs.freedesktop.org/show_bug.cgi?id=69485
-rw-r--r--src/cairo-ps-surface.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c
index 0385b2a..4fc9990 100644
--- a/src/cairo-ps-surface.c
+++ b/src/cairo-ps-surface.c
@@ -3401,7 +3401,7 @@ _cairo_ps_surface_emit_surface_pattern (cairo_ps_surface_t *surface,
_cairo_output_stream_printf (surface->stream,
" /BBox [0 0 %d %d]\n"
" /PaintProc {\n"
- " CairoPattern\n"
+ " pop CairoPattern\n"
" [-1 0 0 1 %d 0] concat CairoPattern\n"
" [ 1 0 0 -1 0 %d] concat CairoPattern\n"
" [-1 0 0 1 %d 0] concat CairoPattern\n"
@@ -3422,7 +3422,7 @@ _cairo_ps_surface_emit_surface_pattern (cairo_ps_surface_t *surface,
pattern_width, pattern_height);
}
_cairo_output_stream_printf (surface->stream,
- " /PaintProc { CairoPattern }\n");
+ " /PaintProc { pop CairoPattern }\n");
}
_cairo_output_stream_printf (surface->stream,