From f81b1406755a1e63f0c44996ca9ce3802b1877ba Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Wed, 8 Jan 2014 07:45:20 +1030 Subject: [PATCH] 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 --- src/cairo-ps-surface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c index 0385b2a32..4fc999028 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,